Swift part11 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/06/28(水) 17:58:29.74ID:KUDOoNV30
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

関連スレ

プログラミング言語Swift Part4
http://egg.2ch.net/test/read.cgi/mac/1484763495/

[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://egg.2ch.net/test/read.cgi/mac/1484217623/

Xcode part14
http://egg.2ch.net/test/read.cgi/mac/1476190499/

Swiftアンチスレ part1
http://mevius.2ch.net/test/read.cgi/tech/1458491343/


前スレ
Swift part10
http://mevius.2ch.net/test/read.cgi/tech/1487552413/

スレ立て時は1行目に「!extend::vvvvv」
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2017/08/22(火) 21:55:20.85ID:uTo9s4E+0
>>249
some: 2 elements
- <CCandidate: 0x170226b80> #0
super: NSObject
- <CCandidate: 0x170226ce0> #1
super: NSObject
となります。

まだはまってます…
2017/08/22(火) 22:44:59.20ID:XQhpAbMj0
何したいのかいまいちわからんな
>>250のいう通りにすればいいだけだろとしか思えない
2017/08/22(火) 23:00:38.58ID:uTo9s4E+0
>>250
ありがとうございます。
書き込み頂いた情報を元に、objc-cの言語仕様を調べながら触ったんですが解決せず、AnyObjectに問題を絞りこんで見ました。

結果、出力部分のコードを書き替え、データの取得が出来ました。

for i in 0..<objvCMng.candidates.count{
let ret = objvCMng.candidates[i] as AnyObject
print(ret.candidate)
}


皆様、ありがとうございました。
2017/08/22(火) 23:03:37.53ID:uTo9s4E+0
>>253
candidatesとhoge置き換えミスってます…
2017/08/23(水) 14:27:29.61ID:QEgHjRh50
let blue = #colorLiteral(red: 0, green: 0.4577052593, blue: 1, alpha: 1)
let white = #colorLiteral(red: 0.7803494334, green: 0.7761332393, blue: 0.7967314124, alpha: 1)
let orange = #colorLiteral(red: 1, green: 0.5803921569, blue: 0, alpha: 1)
let red = #colorLiteral(red: 1, green: 0.2352941176, blue: 0.1882352941, alpha: 1)
2017/08/27(日) 21:39:01.72ID:rI0KXWhq0
型推論とか何がうれしいのかさっぱりわからん
2017/08/27(日) 21:46:40.55ID:sRToL0oW0
長ったらしい型名ばっかのコードは思考が阻害される
型チェックはしてるんだからべつにデメリットもない
258デフォルトの名無しさん (ワッチョイ ad32-vBqz)
垢版 |
2017/08/28(月) 10:03:17.19ID:zqhpekJb0
ビルドに時間がかかるようになるだろ。型推論なんて使わないほうがいい
2017/08/28(月) 13:08:18.25ID:A8OmMbPi0
Swiftの型推論は単純だからObjCの型チェックとビルド時間は変わらないけどな
Rustくらいに賢い型推論して欲しいよ
2017/08/28(月) 13:53:01.33ID:diAyE3fu0
https://www.cocoawithlove.com/blog/2016/07/12/type-checker-issues.html
2017/08/28(月) 14:18:27.43ID:A8OmMbPi0
その解説だと型推論じゃなく数値型がstructであることが本質の問題だよね?

let a: Double = -(1 + 2) + -(3 + 4) + -(5)

double a = -(1 + 2) + -(3 + 4) + -(5);
で違いが出るならそれはコンパイラ組み込み型を常用せずstruct型扱うからでしょ

プリミティブ型削って構造体型を多用するSwiftはイマドキだよな
NSIntegerみたいに32bitなのか64bitなのか分からんことになるよりは良きも悪きもあるわな
2017/08/28(月) 15:25:06.44ID:2ASNlnOhp
推論に任せないで型を記述した方がコードの見通しが良い気がする
2017/08/28(月) 16:07:09.49ID:zbhwRStaa
型を決定するために5cm以上目線の移動がある場合は型を記述したほうがいい俺ルール
2017/08/28(月) 18:24:28.18ID:TLOgdRREa
ジェネリクスみたいに長い同じ型を何度も書く羽目になるやつは
混ぜた方が見やすい
2017/08/30(水) 14:36:49.38ID:VdDjZJhL0
Swift 3移行まだしてない人いる?
うちの会社は再テスト面倒で未だに2.4使ってるんだが。

Swift 2.4 -> Swift 4で済ませようかなって思ってる。
2017/08/30(水) 18:51:32.33ID:OtY774nId
そもそもSwiftに移行してない(する必要がない)
2017/08/30(水) 20:15:16.63ID:thVvZo3p0
自分とこは業務でSwift使うの金かかりすぎると2.2の後は3にせずObjCに移行した
メンテ工数かかるし素直に実装し直しを検討した方が良いんではないかね

1.1から2.2まで商用コードをメンテした過去の自分らを褒めたい
2017/08/30(水) 20:18:06.98ID:thVvZo3p0
>>266
Swift使ったことないなら参考にならないから黙ってるといいよ:D
2017/08/30(水) 21:18:13.08ID:YXsmLmn70
移行してない=使った事が無いというのは発想が貧弱ではなかろうか
2017/08/31(木) 11:59:18.93ID:JBBnINAhH
func sum(i:Int, i2;Int, i3:Int) -> Int{
return i + i2 + i3

-> Intが後ろの方にあるの、変な感じがするんですよ
func Int sum(i:Int, i2;Int, i3:Int)
こうしなかったのは、どうしてですか?
2017/08/31(木) 13:28:27.51ID:BMQTj5G50
データの流れが左→右になってる方が自然じゃん
2017/08/31(木) 14:28:39.15ID:T53Le00sM
c++でも型推論が簡潔にかけるという理由で戻り値の後置構文が追加された。
その経緯をみて決めたんじゃないかな。
2017/08/31(木) 15:01:17.58ID:speSRrScH
そうなんですか
ありがとうございます
2017/08/31(木) 20:57:25.67ID:sd7zZNUq0
>>272
アレってtemplateの引数依存の戻り値を返したいからじゃなかったの?
コンパイラに型導出させてウマー、っていう

template<typename T, typename U>
auto operator+(const T& t, const U& u) -> decltype(t +u) { return t + u; }
2017/08/31(木) 21:37:07.95ID:T26Psf+nF
>>270
C言語っぽくないことにとことんこだわったから
2017/08/31(木) 21:38:38.24ID:T26Psf+nF
>>270
セミコロンじゃなくてコロンだよ
引数の型の指定は
2017/08/31(木) 21:46:11.82ID:67nUNCV40
xcodeが使いにくいんですがjetbrains製のideでiosアプリ開発ってできるんでしょうか
2017/08/31(木) 22:40:30.26ID:wvV2BO1O0
>>277
じゃXamarinで
2017/09/01(金) 09:16:09.66ID:HGna/n2GM
何が使いにくいのか?
慣れの問題もあるの思うが
とりあえずAppCode触ってみたら?
2017/09/10(日) 10:24:46.29ID:WzSbM0WV0
realmはcasecade使えるようになりましたか?
2017/09/21(木) 14:05:19.12ID:lAXpPURMa
Swift 5の目標が確定、新たな発展プロセスを定義
https://www.infoq.com/jp/news/2017/09/swift-5-development-plan
2017/09/21(木) 14:24:19.47ID:RYxOp7LL0
この言語仕様改定多すぎだろ。
C++が三年周期でやってることをこいつら一年単位でやってねえか?
2017/09/21(木) 19:20:52.43ID:A6hqPBkJ0
$0$1とか平気でねじこんでくるけどな
284デフォルトの名無しさん (ワッチョイ 3b5f-nqY2)
垢版 |
2017/09/21(木) 22:36:11.43ID:ejY1DQq00
xcode9で新規に画像がimageViewに表示されないんだが
xcode8で作成したものは9でも表示される。
iMacもMacBook Proも同じ現象なんだが俺だけだろうか
2017/09/21(木) 22:39:34.63ID:/Wyc4aYf0
どうせ画像をターゲットに入れてないとかしょうもないオチだろ
286デフォルトの名無しさん (ワッチョイ 8a91-nqY2)
垢版 |
2017/09/22(金) 05:01:32.15ID:IsCSmXsD0
284ですが解決したので一応報告。
Xcode 9のバグでした。
画像をドラッグアンドドロップではシュミレーターで画像ファイルが
参照出来ない。
メニューから画像追加で表示されるようになりました。
2017/09/22(金) 05:01:48.93ID:+ICiQEoA0
>>282
Javaは今後6ヶ月ごとにバージョンアップらしいで
2017/09/22(金) 11:48:39.33ID:wHlrrV1C0
もうSwift対応つかれたお・・・
2017/09/22(金) 11:53:33.34ID:0fnxP+F/0
また来年おなじことの繰り返しやで
再来年も、その翌年もずっとやで
2017/09/22(金) 11:54:27.16ID:+ICiQEoA0
今回Swift対応なんて無いようなもんだろ
フレームワークやX対応のほうが大変
291デフォルトの名無しさん (フリッテル MM96-Jg5v)
垢版 |
2017/09/22(金) 19:38:37.70ID:sEiYNNriM
Swift4対応のXcodeにアップグレード完了した。。
2017/09/23(土) 08:49:16.08ID:oR8sl4bu0
Swiftのコンパイルの遅さがやばすぎ
2017/09/26(火) 14:01:12.39ID:07+40tQg0
>>292
バージョンによっては速いぞ。
初期は遅かったけど。
2017/09/28(木) 14:03:05.30ID:4TDWNGRw0
先月Swift 3対応したばかりなのにまたSwift 4対応しなきゃならない。
Swift 2から一気にSwift 4対応したほうが良かったかな、失敗した。
295デフォルトの名無しさん (スッップ Sd43-xQsE)
垢版 |
2017/09/28(木) 14:30:25.07ID:GYdlOiL5d
>>294
昨日の会議でSwift3.1対応が残課題で有ったんだけれど、もう4になったとは言わなかった。
2017/09/28(木) 15:24:26.46ID:n5Lt93Y/0
Objective-Cで書いときゃメンテフリーだったのに
2017/09/28(木) 18:38:04.80ID:d0Iw5r4z0
だったらiOS11でこんなにアプリ消えないわなー
2017/09/28(木) 20:58:05.74ID:2fs3kw6Xp
開発環境の更新と言語の更新を一緒くたにするなよ
2017/09/28(木) 21:03:10.31ID:2fs3kw6Xp
iOS 11で脱落したアプリはSDKの変更についていけなかったか費用対効果で更新をやめただけ。言語のメンテナンス性とは別の話
2017/09/28(木) 21:40:00.18ID:ZHeRPgDn0
実質同義なんだよなぁ
せめて費用対効果がObjC AppメンテよりSwift Appメンテの方が効率悪いと言えば良いのに
ObjCならメンテフリーとかアホなこと言うから突っ込まれる

さておき、このスレでもSwift2の頃にSwift採用したPMは死ねとPG視点で大合唱だったのに
まだSwiftを商用採用する企業いるのが悲しいのう、その頃に作ったものをメンテしてるのかもしらんが辛いな
2017/09/29(金) 08:30:22.14ID:IW2wQVQj0
>実質
>App
言語スレで言語の話をしてるのに勝手に条件を付加するなよ
2017/09/29(金) 08:45:40.29ID:cOq2BguT0
iOS11でObjC Appがメンテできなくてアプリが減ったと言う話をしてたのに何を言ってるんだ・・・
「Objective-Cで書いときゃメンテフリー」とは一体何を指しているのか

あと、ObjCの話をしたいならObjCスレかせめてSwiftアンチスレに行けよ
別にApple信者じゃないからSwiftマンセーしてるわけじゃないのにObjCを笑われたからってSwiftスレで絡むなw
2017/09/29(金) 15:22:03.72ID:YJXPiuk30
ObjC Appがメンテできなくて でなくて、メンテされてないアプリが消えただけじゃないの
ObjCだかrメンテできなくなったって、なに?
2017/09/29(金) 15:29:33.62ID:YJXPiuk30
ああ、Swiftだったら簡単(?)なのにObjCだからメンテされなくなったとでも言ってるのか??まさかだが、そう思ってるならそれはナイな
お前みたいに変なこと言い出すヤツいるから聞きたくもないObjCの話が長くなるだろうにw
2017/09/29(金) 17:21:31.86ID:Q1ij4bLL0
開発環境の話
 ・Xcodeアプデ→言語VerUp→Swiftコード要メンテ
 ・ObjCならメンテ不要だった

ユーザー環境/ストアの話
 ・iOSのVerUpでObjCもメンテが必要になる
 ・Swiftの方が効率悪いと言えば良い
    ↑
 前提がズレてる

・ObjCだからメンテできなくなったって
・Swiftだったら簡単とでも
   ↑
 対偶的な意味でズレてる
2017/09/29(金) 18:22:31.58ID:v+2E5EyQ0
swudt2あたりで知識が泊まってるんだけど今のswiftはどれくらい良くなった?
俺の中でoptional型の概念とか関数型の世界を見せてくれたswiftには感謝してる。
今はtypeScriptメインだけどね
307デフォルトの名無しさん (ワッチョイ 45b3-3BEe)
垢版 |
2017/10/03(火) 05:32:06.56ID:0Z/dxYPK0
swiftは良いものだがRXとかReduxはライブラリ必要で恐ろしく書きかたが変わり危険なので個人的に好きじゃない
iOSはそもそもMVCなのでMVVMいけ
308デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/03(火) 05:40:48.76ID:Bfzhbq/jp
swiftのビルドの重さで新型Macが売れてます
ReduxとかRXのおかげでiPhoneのバッテリがガンガン減ります
結局ObCのほうが良かった、とかwww
309デフォルトの名無しさん (ワッチョイ 45b3-3BEe)
垢版 |
2017/10/03(火) 05:44:54.28ID:0Z/dxYPK0
型推論とかでビルド遅くなるなら要らないけどな
Optional型も適切にnilチェックしてれば要らない
Macとか本売りたいだけなのかな
310デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/03(火) 05:53:20.06ID:Bfzhbq/jp
>ReduxとかRX
RXは書式が気持ち悪くて論外だが、Redux使うくらいならビジネスアプリはシンプルでライブラリレスなMVVMでしょ絶対に開発早いし
Appleはrxcocoa禁止したほうがいい
311デフォルトの名無しさん (ワッチョイ 45b3-3BEe)
垢版 |
2017/10/03(火) 06:13:48.23ID:0Z/dxYPK0
xcode XくらいでAppleがMVVM的なフレームワーク出してくるかな
RXは早く死に絶えて
2017/10/03(火) 09:08:20.42ID:J3lXzdgmd
ライブラリレスなんていう移植無視な開発なんてやらぬ
2017/10/03(火) 19:58:34.43ID:/WY76Y0Hp
>>308
バッテリの減りは初耳
裏で動く処理が多いから?
314デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/03(火) 22:32:52.14ID:djTGgeKPp
reduxの画面の更新
315デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/03(火) 22:43:47.08ID:djTGgeKPp
iOS11にしてからクソ
2017/10/04(水) 00:44:41.84ID:Gppgeajp0
Swift 4になってからコンパイルめっちゃ遅くね?
Xcodeが固まりそうなほどなんだけど。
2017/10/04(水) 01:09:33.28ID:V7FXDajl0
なんでそんなに時間がかかるのかね
構文解析がめんどい→人間にも解析がめんどい
じゃないのかと...
2017/10/04(水) 08:03:39.24ID:gQVbv4s5d
Swiftの読みづらさは異常
無駄なwithout Cの追及により構文解析効率が悪化してんだろ
319デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/04(水) 11:34:12.56ID:1tM3PWaBp
swift+reactive なんて読めたもんじゃない
KVO地獄
320デフォルトの名無しさん (ササクッテロリ Spe1-3BEe)
垢版 |
2017/10/04(水) 20:08:07.75ID:1tM3PWaBp
型なんか自分で書くのに・・
2017/10/04(水) 20:44:54.90ID:4gPaqbyr0
Javaも var 変数名 = ... になるんだな
http://openjdk.java.net/jeps/286
2017/10/05(木) 04:38:12.06ID:YxTMxa+70
varとか書くんだったらもはやvarも無くしちまえよまったく...
2017/10/05(木) 06:52:05.59ID:wZesW7ps0
初期化と再代入ははっきり分けられないと面倒じゃん
2017/10/05(木) 07:00:49.34ID:jqjwBcqVd
型推論とかいうおバカプログラマ向け仕様をやめればvarなどという間抜けなキーワードはいらないわけで
2017/10/05(木) 07:06:39.63ID:6+40pkdb0
いまだにJEPどまりで予定すら立ってないというのが
326デフォルトの名無しさん (ワッチョイ 95b3-2iPL)
垢版 |
2017/10/05(木) 08:17:25.93ID:00L9WeAc0
99% varでいいよ、面倒くさいから
変わらないobjective-cの安定感がたまらん
超開発早いし
327デフォルトの名無しさん (ササクッテロリ Sp75-2iPL)
垢版 |
2017/10/05(木) 08:23:57.77ID:4UOAx4bZp
新しいこと覚えるくらいならビジネスロジックを勉強するよ
言語だのリアクティブだの状態管理だの
フルスクリーンアプリじゃユーザーに全くメリットないし
業界に踊らされているだけ
328デフォルトの名無しさん (ワッチョイ 95b3-2iPL)
垢版 |
2017/10/05(木) 08:54:59.74ID:00L9WeAc0
しっかりobject志向で作れば読みやすいしnullはチェックすればいいだけ
swiftでif letやguard書くようにobjective-cで書けばいいじゃん
ビルド速いしobjective-cで何の不満もない
swiftでreactiveで状態管理でとか、Appleがやってない事を無理矢理・・開発難航させるだけ
2017/10/05(木) 20:07:42.36ID:6+40pkdb0
そのチェックが大変すぎるから問題になってるんだろうがああああ

全変数だぞ全変数
Javaのオブジェクト変数は全部NULLになりうるんだ
2017/10/05(木) 20:41:27.85ID:jcimiKk70
Javaだとこんなんでもアウトだしな
return a.getName().length();
2017/10/05(木) 21:45:45.83ID:Pl7oLNo/0
ObjCもプロパティアクセスはドット表記がモダンでnilアクセスで落ちるだろ
こんなんでアウトだ
return a.name.length;

まぁSwiftでもObjCの関数の渡ってきた変数は信用できずちょいちょい落ちるんだがな(ワロエン
2017/10/05(木) 22:32:47.67ID:DCONgPWB0
いや、落ちないよ。んなの、基本中の基本やん
2017/10/05(木) 23:03:37.57ID:W3Z8qYkCd
ただのプログラマのミスを言語のせいにする風潮
2017/10/05(木) 23:19:15.31ID:Pl7oLNo/0
>>333
ちょっと笑った
335デフォルトの名無しさん (ワッチョイ 95b3-2iPL)
垢版 |
2017/10/06(金) 00:42:47.95ID:/80lsBeB0
全変数なわけないだろカスwww
336デフォルトの名無しさん (ササクッテロリ Sp75-2iPL)
垢版 |
2017/10/06(金) 00:48:43.39ID:nNBQ8Jr7p
Objective-Cはやっぱり凄いよ
337デフォルトの名無しさん (ワッチョイ 95b3-2iPL)
垢版 |
2017/10/06(金) 00:51:42.72ID:/80lsBeB0
swiftのビルド時間がobjcの半分でもなったら使おうかな
型推論なんか時間の無駄
2017/10/06(金) 08:07:44.15ID:ELVXHTcrM
>>329
スレッド間競合でいつnil化されるか分かんね、ってケースか?

だったらスコープ内でローカルの強参照に放り込んでからnil判定挟めば自分のスレッドで当該スコープ内はしなないんじゃね
2017/10/06(金) 08:43:57.58ID:+D3ds82DF
>>336
それにはまったく同意だがスレチじゃね?
340デフォルトの名無しさん (ワッチョイ 7681-ktdh)
垢版 |
2017/10/06(金) 10:38:04.82ID:ulMDAM+Z0
型推論使うの止めようって言ったら、所詮中級の基地害プロマネが顔赤くしてブチキレた。
結局30人(サーバ、Android等含む)で3ヶ月掛かって作ったものは、ユーザテストで使い物にならなかった。
HumanInterfaceGuidelinesを知らないデザイナは、単なるお絵描き。
2017/10/06(金) 10:41:46.35ID:2sWAD4+90
使い物にならなかったのと型推論とどういう関係が?
2017/10/06(金) 13:45:29.26ID:5pSVr9SsM
論理的文書構成ができない>>340を部下に持つ中級プロマネかわいそう
2017/10/06(金) 17:03:08.49ID:V7ffa7dDM
というか、型推論使えとか使うなとか、そんな細かいことPMが言うってどんな状況だよ
プロジェクトマネジメントとなんの関係もないだろ
2017/10/06(金) 20:32:58.77ID:wgggGznB0
なんで型推論やめようと思ったのかが気になる
コンパイル重かったのか

へぼグラマーにありがちだが
自分がよくわかんない部分を取り除けばすべてよくなると思ったのか
345デフォルトの名無しさん (スップ Sdda-jJU0)
垢版 |
2017/10/06(金) 20:40:20.94ID:oDN7+iQQd
型推論をやめようと言ったら切れられた
↑やめたい理由もキレられた理由も理解不能だが言っていることはわかる
何故かユーザテストで使い物にならなかった
↑ん?型推論と関係なくね…
Guideline知らないデザインナーはただのお絵かき
↑もはや何の話をしているのかわからん!


ここから推測するにPMにキレられた理由は>>340がアホだからだな
2017/10/06(金) 20:56:02.17ID:wgggGznB0
30人も使って3ヵ月って規模からしたら超タイトだな
完成品にこぎつけてる時点ですげーよ

携帯ってこんなもんなん?
347デフォルトの名無しさん (スップ Sdda-jJU0)
垢版 |
2017/10/06(金) 21:05:57.43ID:oDN7+iQQd
サーバー側含めてだろ
今時三ヶ月なんて普通だろ
2017/10/06(金) 21:14:23.42ID:wgggGznB0
ひぇぇ

枯れた業務系で仕事してるが
知らんあいだに世の中どんなことなってんだ
2017/10/06(金) 22:00:52.00ID:FHIJEXWg0
マネジメント力にかかってる
人数増やすほどなおさらその人数を100%に近い稼働率で動かすのは至難の技
2017/10/06(金) 22:43:50.15ID:nuKuH1wb0
アプリのプログラミングは1人1画面って感じなんかね
サーバーサイドにマンパワー使ったかな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況