トップページ⇒tech
1002コメント301KB

Swift part5 [転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2015/06/08(月) 15:58:16.35ID:q9UjHTcj
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

関連スレ
let s: プログラミング言語? = Swift[2]
http://anago.2ch.net/test/read.cgi/mac/1408755325/

プログラミング言語Swift 3
http://anago.2ch.net/test/read.cgi/mac/1408762479/

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

Xcode part13 [転載禁止]©2ch.net
http://anago.2ch.net/test/read.cgi/mac/1424907278/


前スレ
Swift part4
http://peace.2ch.net/test/read.cgi/tech/1415860741/
0322デフォルトの名無しさん2015/09/21(月) 13:34:22.66ID:zCotARir
詳解Swift 2.0対応版まだー?
今度はKindle版は画像スキャンじゃなくてまともな作りにしてほしいな。技術書で画像スキャンとか誰も得しないだろ
0323デフォルトの名無しさん2015/09/21(月) 13:48:57.83ID:RKd13GKO
>>321
一時的に生産性高くなるけど、メンテ工数も高いな
言語仕様変更に追従する予算を忘れたプロマネは死すべし
0324デフォルトの名無しさん2015/09/21(月) 14:37:41.68ID:a4o55LrK
出版社は楽して儲かるので得してるな
2.0 stableってリリースしたんだっけ
0325デフォルトの名無しさん2015/09/21(月) 14:39:24.85ID:HkKMmpY5
もう objective-C/C++ でいいよ
C/C++ がそのまま使えるのが大きい
0326デフォルトの名無しさん2015/09/21(月) 15:36:16.82ID:KFcKXjg0
>>325
逆に全滅してほしいw
0327デフォルトの名無しさん2015/09/21(月) 15:42:55.19ID:fXik4cAW
>>326
全滅したらAppleが潰れちゃうw

>>325
swiftからCはシームレスに叩けるから・・・(死んだ魚の目
なお、呼び出される動作は考えてはいけない
0328デフォルトの名無しさん2015/09/21(月) 23:06:40.98ID:X8E4srJj
コンパイル遅すぎる。。もう嫌だ逃げたい
0329デフォルトの名無しさん2015/09/22(火) 15:49:50.79ID:MfA+bvFT
Swiftのラベル無視してコンパイルしたい
0330デフォルトの名無しさん2015/09/23(水) 04:03:53.16ID:QHqYPkMQ
>>325
c++のライブラリ使いたいときにobjective-c++が使えるのは便利。
インターフェースにNSDictionaryとかNSArray使ってラップすればそのまま、swiftで使えるし。

c++とのインターフェースをswiftがサポートしようとするのは流石に無理あるだろうしね。
0331デフォルトの名無しさん2015/09/23(水) 08:35:51.99ID:JGY6NGKN
他の言語がC++をサポートしないのは面倒な上にメリットが少ないからだけど
swiftは面倒でもC++の呼び出しは頑張ってサポートした方が良いと思うけどな、標準Libがしょぼすぎる

今のままオーブンソースになってもiOS/Mac OS以外で実用性ないだろ
両OS上では使うけど、他環境への持ち出しは頭悪いと思う
0332デフォルトの名無しさん2015/09/23(水) 15:54:33.24ID:QHqYPkMQ
>>331
swiftがlinux対応によるメリットってCIがlinux環境で動いてくれるってことかなと。
正直xcodeのコマンドライン版でもいいので環境まるまるlinuxで動くようにしてくんないかなー。そしたらビルド遅い問題も解決しない?
0333デフォルトの名無しさん2015/09/24(木) 03:51:09.34ID:pI0tsndd
swift3ではenumをイテレート出来るようにしてくれ
0334デフォルトの名無しさん2015/09/24(木) 15:35:42.48ID:jZjSABaw
>>332
クロスコンパイラ、多分アポーはやらないのでハカーに期待
keychain、開示されるワケがないのでクラッカーに期待
CI出来るといいね
0335デフォルトの名無しさん2015/09/29(火) 18:16:05.63ID:/Akf4srq
GCDでblockが関数外に関数に続いてな表記になったが、これってGCD関連の関数だけの特別例外なのかな?汎用的なものなのかな?宣言を見たら関数内のままだし、ルールがよくわからんな
珍しく関数内の表記もそのまま使えるようだけど
dispatch_async(queue, { () -> Void in
})
dispatch_async(queue) { () -> Void in
}
0336デフォルトの名無しさん2015/09/29(火) 19:25:34.67ID:/Akf4srq
なるほど
引数の最後がblockなら関数外にな表記にできるっていういちおう汎用性のあるのなのね
ラベル付いていたらどう書くのかと思ったら書かなくてもよしなのね。書く方法が逆にわからんけど
0337デフォルトの名無しさん2015/09/29(火) 22:31:25.47ID:i8Oa4vHf
それ、 swift 1.0の頃から一貫してそうじゃね? > 末尾ブロックの省略表記
0338デフォルトの名無しさん2015/09/29(火) 22:40:09.70ID:/Akf4srq
確かにXcode 6.4でも有効だった。最初からなのかはわからないけど
Xcode 7での補完が変わったのでいまさら気づいたってとこだった
0339デフォルトの名無しさん2015/09/30(水) 00:17:30.98ID:Ni3ggr7i
dispatch_async(queue) { () -> Void in
}

こっちの書き方の方を推奨しているコーディング規約の方が多いね
handlerとか書かなくていいから
0340デフォルトの名無しさん2015/09/30(水) 03:44:15.18ID:O8F3yytc
まだいまいちキモイ感が拭えないが、
@syncronized(lockObject) {
}
の代わりに
dispatch_sync(lockQueue) {
}
は逆にとても好ましい
0341デフォルトの名無しさん2015/09/30(水) 11:45:24.27ID:2TkwnPLU
アットマークが泣いてるぞ
0342デフォルトの名無しさん2015/09/30(水) 21:44:30.79ID:7VLpriBq
swiftと関係ないがGCDよりNSOperation使った方がよかろうに
まぁどっちもオープンソースになってからany platformで使えるか分からんので、今切り替えるべきじゃないけど
0343デフォルトの名無しさん2015/10/01(木) 03:41:37.72ID:eIVqclAu
GCDのほうがいいでしょ
0344デフォルトの名無しさん2015/10/01(木) 03:59:03.96ID:TfN6hj++
どっちも使いよう。>>342なんてレスに対しては>>343なんてレスにしかならないだろうが
GCDの方が速いとかあったようななかったようなだが、仮にだとしても実際実感できるほどでもないだろうし
制御できる機能があるので(完全ではないが)必要ならNSOperation、お手軽にちょいと一仕事をってのだとGCDだな、俺は。GCDの場面の方が数多くあるけど
0345デフォルトの名無しさん2015/10/02(金) 09:58:03.14ID:y/a3zwFa
Appleの文化として新しいものが正義だと思うよ
古いAPIつらっと消すから追い続けないとひどい目に会ったりする

複雑でオブジェクト作りまくるNSOperationより手軽で軽いGCDの方がPGとしては好ましいだろうけど
上流行程から見たらPGの苦労なんて度外視されるものだ
0346デフォルトの名無しさん2015/10/02(金) 11:08:38.29ID:VKqpWLIE
何を妄想を語っているのだか
NSThreadですらまだあるのに。ちゃんとAppleのドキュメントを読めば?
上流工程とか言っているからドキュメントすら読まないなんとなく開発しているタイプなんだろうけど
0347デフォルトの名無しさん2015/10/02(金) 15:35:36.70ID:ClpytUE+
新しいものポイポイ追加変更してる swiftで古いの使うのか、、、
頑張るなw
0348デフォルトの名無しさん2015/10/02(金) 16:29:16.03ID:Zx82TsQo
680x0時代のMacでもswiftで作れるん?
0349デフォルトの名無しさん2015/10/02(金) 16:51:05.92ID:iUAavedK
68kのmacでosx動くと思ってんの?
0350デフォルトの名無しさん2015/10/02(金) 17:54:33.18ID:VKqpWLIE
>>347
マジで言っているのか、酔っ払いみたいにただ絡みたいだけなのか、どっちやねん
マジで言っていそうに見えるから怖いなw
0351デフォルトの名無しさん2015/10/02(金) 18:23:20.17ID:5WAHQuOs
怖いなw
0352デフォルトの名無しさん2015/10/02(金) 22:00:21.36ID:Vg6bhvw9
絡んでる子怖い
0353デフォルトの名無しさん2015/10/11(日) 10:09:37.52ID:L/2BKddT
OSSにする気あんの?
0354デフォルトの名無しさん2015/10/11(日) 10:17:42.26ID:AQhK5jCj
ありますん
0355デフォルトの名無しさん2015/10/12(月) 15:56:19.38ID:trpR/Ql4
インラインで構わないから、C++も書けるようにしてほしい。
でっかいインラインになると思うけど。
0356デフォルトの名無しさん2015/10/15(木) 13:56:24.53ID:dEudz13p
>>355
objective-c++使いなよ。むしろswift肥大化する方向性を減らす方向に行って欲しい。
c,c++のコード資源はobjective-c,c++に任せる方向で棲みわけて欲しい。
0357デフォルトの名無しさん2015/10/15(木) 16:08:27.22ID:EZZKeUj4
そうなるんじゃないかね。
SwiftでCとの連携めちゃくちゃしずらい。
(a as UnsafeMutablePointer<CGFloat>).memoryとか発狂しそう。
その内C風のシンタックスシュガー取り入れたりするんだろうか。
0358デフォルトの名無しさん2015/10/15(木) 17:31:42.13ID:QP6NYvOM
rustやgoは肥大化させて、C++要らないようにしてるしな
期待薄だけど iOS, Mac OS以外でも使って欲しいなら必要だよなぁ
0359デフォルトの名無しさん2015/10/20(火) 00:00:12.99ID:/o7/qjtE
多分、ある時点でC系のAPIをSwift風にリプレースするのだと思う。
0360デフォルトの名無しさん2015/10/20(火) 08:18:15.97ID:p770YeP/
http://qiita.com/glayash/items/0e7f597d71918df4aad3
上記とか見てるとcoreFundationがC以外で書き換えられるのってメリット無い気がするけど
0361デフォルトの名無しさん2015/10/20(火) 16:04:06.33ID:1OMzqZVd
俺の理解できる言語ひとつのみでにしてほしいという願望が根底にあっての予想でしかないのだろ
0362デフォルトの名無しさん2015/10/20(火) 23:25:41.90ID:nTbmHvZw
長くて途中で読むのやめたけど
Core Foundationを書き換える必要はなくて、 Core Foundationをラップするインターフェースと実装があれば
SwiftからC11, C++14の機能が使えて実用に耐えるので幸せ
0363デフォルトの名無しさん2015/10/30(金) 01:38:24.58ID:DXlHM0TX
そろそろ仕様は固まってきましたか?
0364デフォルトの名無しさん2015/10/31(土) 16:19:14.46ID:8QDtaEsD
思いっきし変わってるよ。
Xcodeがなければみんな発狂してるレベルだよ。
オープンソース化したら更に仕様変更増えるんじゃないか。
0365名無し募集中。。。2015/10/31(土) 18:56:14.38ID:xraV4XFn
仕様変更を楽しめないようになったら続かない
0366デフォルトの名無しさん2015/10/31(土) 18:58:27.02ID:kUI0+GLn
もうどう仕様もないな
0367デフォルトの名無しさん2015/10/31(土) 21:06:39.60ID:Dxf2Pnwh
今までの入門本が全部ゴミになった。
0368デフォルトの名無しさん2015/11/01(日) 04:02:02.92ID:lRUXw/XB
swiftでosx開発の質問をしたいんですがiOSの初心者質問スレしか見つからず困ってます。
ここに描いてもよろしいですか?
0369デフォルトの名無しさん2015/11/01(日) 10:19:08.62ID:kpc4xvnN
つhttp://kanae.2ch.net/test/read.cgi/prog/1214208397
0370デフォルトの名無しさん2015/11/14(土) 15:25:16.35ID:E+/9uAHX
Wikipediaの「影響を受けた言語」のところにD言語があるのは、仕様変更におけるスタンスはD言語を参考にしているということですかね
0371デフォルトの名無しさん2015/11/14(土) 16:10:00.65ID:BOkPBvc2
アップルが下位を捨てるのは珍しくないと思う
というと、アポー好きがアレは残ってるコレは残ってるって発狂するけど

swiftは色んな言語の色んな文法をチャンポンに採用してるから、D言語からも何かの文法を持ってきてるんだろう
0372デフォルトの名無しさん2015/11/14(土) 16:39:32.62ID:HNBt+FzC
唐突すぎて何か根に持っている臭がプンプンな文だな
0373デフォルトの名無しさん2015/11/14(土) 18:31:29.51ID:mKP1+Dxz
お前も素直にアレコレ言えば良いのに
0374デフォルトの名無しさん2015/11/14(土) 19:10:14.12ID:TRagv9VG
>>368
たしかにosx開発用の質問スレほしいっすね。
UXKitとかでたタイミングとかでもほしい。
0375デフォルトの名無しさん2015/11/14(土) 19:18:42.60ID:TgsjaKtt
>>372
D言語、Swift共に仕様変更で下位互換がないって話じゃないの?
0376デフォルトの名無しさん2015/11/14(土) 20:29:39.90ID:HNBt+FzC
>>375
ふむ。それでもやっぱり2行目が唐突すぎwどこから湧いてきたのだかっていう
0377デフォルトの名無しさん2015/11/14(土) 20:51:19.46ID:TRagv9VG
むしろobjective-cが全盛の時代のうちはswiftはどんどん仕様変更してほしい。
swiftに移行しきってから仕様変更されるのは辛いけど、今はobjective-cもメインなわけだし。
0378デフォルトの名無しさん2015/11/14(土) 23:29:26.80ID:KvThdAEp
objective-Cの(よく知らんが)【smalltalk】+【C】の部分つか
メッセージの柔軟性によるクラス取り回しや動的な扱いがけっこう気に入ってて(smalltalkの部分?)
swiftが【objective-C without C】だっつーから期待したら
たぶん最近の言語事情に合わせてそこの部分まで普通のレベルにダウングレードしちゃったつか
整理したJavaみたいなのをもう一個作りましたみたいなのだったつか…
0379デフォルトの名無しさん2015/11/14(土) 23:50:32.99ID:no70Q/Qt
Javaっぽいかい?
どう見ても関数型言語なのに
0380デフォルトの名無しさん2015/11/15(日) 01:46:22.53ID:qNoZ8ZjT
2.0ってTryだらけにならんの?
見苦しい
0381デフォルトの名無しさん2015/11/15(日) 09:47:05.77ID:VMDG18y+
Swiftの求人 の平均最低月給228,000円
http://jobinjapan.jp/job-listing/keyword-swift.html

Objective-Cの求人 の平均最低月給230,800円
http://jobinjapan.jp/job-listing/keyword-objective-c.html

Javaの求人 の平均最低月給220,000円
http://jobinjapan.jp/job-listing/keyword-java-pg.html

スキル別の平均最低月給リスト
http://jobinjapan.jp/cate/
0382デフォルトの名無しさん2015/11/15(日) 10:10:52.55ID:bEHu4/sc
>>374
昔あったけど需要ないのとiOS開発スレが大きくなりすぎて自然消滅した
Cocoaはさっぱり!っていうスレ
0383デフォルトの名無しさん2015/11/15(日) 14:11:43.37ID:RjfxkIq9
こんな安月給で働けとか地獄だな
0384デフォルトの名無しさん2015/11/15(日) 15:11:04.88ID:ZHNlFxQT
>>379
どこを見たらそうなるのか、普通に知りたい
0385デフォルトの名無しさん2015/11/15(日) 15:12:13.06ID:ZHNlFxQT
あ、javaっぽくないのは同意
0386デフォルトの名無しさん2015/11/15(日) 16:33:45.09ID:xo8y48fd
オープンソースらしいんですがlinuxでもswift使えますか?
mac持ってないので言語そのものの学習をlinuxでしたいです
0387デフォルトの名無しさん2015/11/15(日) 17:40:24.12ID:tTRnEh6/
Swiftは前衛芸術みたいな言語だわ
理を追求した関数型言語の対極に位置してる
0388デフォルトの名無しさん2015/11/15(日) 18:10:58.34ID:PV6fOtMt
なるほど
わかりやすい
0389デフォルトの名無しさん2015/11/15(日) 19:01:42.51ID:4X+AQy9Z
理より利を追求しろというね
学者のオモチャには良いんだけどな

swiftに利があるかはイマイチ分からない
0390デフォルトの名無しさん2015/11/16(月) 01:02:35.89ID:Cu7ErnNd
>>386
AppleがSwiftをオープンソースとして公開するのが近々
それからLinuxだのに誰かがコンパイラだけじゃなくライブラリの整備など諸々ポーティングしたりだろうから、Linuxでできるとしてもまだまだ先の話だろうな
0391デフォルトの名無しさん2015/11/16(月) 01:09:56.64ID:Cu7ErnNd
と、思い込んでいたが、
https://developer.apple.com/swift/blog/?id=29
どうやらハナからLinux対応でのらしい?
standard libraryとはどれだけのかはわからんが、まあLinuxだとCのライブラリも豊富だからなんかそれなりのを作ろうと思えば作れるのだろうな
0392デフォルトの名無しさん2015/11/16(月) 01:16:38.06ID:Bkt0qLlT
JAVAを学校で学んで2級取っただけの初心者ですけど、Swiftって
めっちゃJAVAに似てる。
学んだ事が流用出来そうなのでSwiftに専念します。皆さん宜しく。
0393デフォルトの名無しさん2015/11/16(月) 01:38:26.28ID:7yHHnP/U
職種別、資格別、スキル別の平均最低月給リスト
http://jobinjapan.jp/cate/
全掲載求人109,160件の平均最低月給195,800円

Swiftの求人 の平均最低月給225,600円
http://jobinjapan.jp/job-listing/keyword-swift.html
0394デフォルトの名無しさん2015/11/16(月) 03:16:55.96ID:2q66nzJK
関数型言語に対するイメージがかなり偏ってることだけはよくわかった
0395デフォルトの名無しさん2015/11/16(月) 07:59:01.91ID:BP6+ttt3
関数ポインタ=関数型って思ってるニワカ多そうだよな
副作用がない実装によるデメリットを認めないのも多い
swiftが関数型かどうかは毛の壁さんが論じてるので疑う余地ないけどw

standard libraryは swiftlib だけじゃねーのかね
このままだとスレッド使うにもifdef使うことになって泣ける
0396デフォルトの名無しさん2015/11/16(月) 10:27:20.81ID:Cu7ErnNd
XDispatch使える/使えるようにするんじゃないの。Appleでなくても誰かが
そんな一つのソースどのプラットフォームでもでというのがどれだけあるのか知らんけど
0397デフォルトの名無しさん2015/11/16(月) 15:38:22.96ID:3X6d0KMH
> 関数ポインタ=関数型って思ってるニワカ多そうだよな
一時期 Wikipedia に、関数型言語とは関数を第一級オブジェクトとして扱う言語である、とか書いてあって、それで誤解した連中が沢山いたらしい。
その程度でカテゴリ分けする必要ないだろ、という程度の知能もない連中。
0398デフォルトの名無しさん2015/11/16(月) 17:51:12.85ID:nWIfyrk4
> 副作用がない実装によるデメリットを認めないのも多い
状態汚染させないためにlet宣言だけにしたり
関数再起呼び出しでコールスタックに負荷かけたり
そんなことした関数型での実装は人にもマシンにも優しくない

無難に関数ポインタ程度に扱うswiftプログラムは例え前衛芸術でもスマートだと思うよ
0399デフォルトの名無しさん2015/11/16(月) 18:03:54.80ID:Q942jPTl
オブジェクト指向の本質は"クラス"の使い回しの方ではなく
できるだけオブジェクトに"命令"を与えると処理をクラスが勝手にやるようにして
通信を抽象化し「歩け」で歩くように、わざわざ
「与える:コマンド(左前足前に出す、右後ろ足前に出す、右前足前に出す、左後ろ足前に出す)」
みたい作って、六本脚や二本足にバージョンアップした時に
影響が上位ルーチンへ及ばないよう、単位を独立した"オブジェクト"と捉える。

だったのに、Javaの普及やobjective-Cの復権でメソッド/メッセージが浸透するまで
「オブジェクト指向はクラスの便利な使い回しである!」
「オブジェクト指向は組み込み関数を外から呼べる考えかたのことである!」
とか妙にトンチンカンな理解ベースでの説明ばっかりで
90年代を通じて「オブジェクト指向なんてCの関数と変わらないから単純にコードコピペでいいんじゃね?」
「いいや!コピペは全部修正しなきゃいけないけどクラスなら一回でいい!(キリッ」みたいな
噴飯ものの議論がなされてた記憶が…

あんま「関数型言語の理解がー」とか笑えんというか…
0400デフォルトの名無しさん2015/11/16(月) 18:15:23.52ID:Q942jPTl
あと、個人的な意見だと関数型はパーツとしての堅牢性を最重視した方向からのアプローチだから
それって上の例だと「(歩け)ってバグのない完全なパーツができました
「左前足(歩け)、右後ろ足(歩け)、右前足(歩け)、左後ろ足(歩け)」
これで脚が何本になろうと歩きます!」みたいな
それって本当に主張してる究極の解決なのかなぁ…感がですね…
0401デフォルトの名無しさん2015/11/16(月) 19:37:33.94ID:P+Iv1KZM
>>399
このオブジェクト志向の本質ってどこで定義されたものなの?
すげえ興味あるわ
0402デフォルトの名無しさん2015/11/16(月) 19:46:46.84ID:P+Iv1KZM
>>400
堅牢性ってバグが無いって意味なの?
逆に例外じゃなくてバグの存在を許容してる言語って存在するの?
0403デフォルトの名無しさん2015/11/16(月) 20:00:43.82ID:6H4dK92G
2000年初頭のオブジェクト思考解説本では良く見た定義じゃね?C++しかりJavaしかり
0404デフォルトの名無しさん2015/11/16(月) 20:10:44.42ID:OxmQfEqf
iOS SDKに苦しめられてる身としては
そんな堅牢性がどの辺りで発揮されているのか気になる
0405デフォルトの名無しさん2015/11/16(月) 20:22:35.69ID:P+Iv1KZM
10年以上前の書籍名も筆者もわからない解説本での説明がオブジェクト志向の本質の定義になるの?
0406デフォルトの名無しさん2015/11/16(月) 20:25:11.89ID:OxmQfEqf
並行処理での安全性を理論レベルで担保できるErlangのアクターならともかく
SmalltalkやObjCのオブジェクトがJava, C++に対して、堅牢性の面でリードしてる部分って何よ

むしろクラスによる静的型付けにフォーカスしてる後者の方がより堅牢だと思うんだけど。。
煽ってるわけじゃないよ。素直に疑問
0407デフォルトの名無しさん2015/11/16(月) 20:28:09.64ID:CIlvyk0l
>>402
副作用がないって意味の堅牢さじゃないの?
逆に関数型どう解釈してバグになったの?
0408デフォルトの名無しさん2015/11/16(月) 21:12:13.20ID:P+Iv1KZM
>>407
400で、堅牢性の記述とし「バグのない完全なパーツができました、、、」って書いてあるんじゃん
0409デフォルトの名無しさん2015/11/17(火) 00:38:55.22ID:of/WOUg/
別にオブジェクト指向と関数型って相反するものでもない気がするんだけどなー
むしろ補完関係として成り立つ気がする

大体、副作用を良しとしない関数型言語において、関数が第一級オブジェクトである事が求められるのは、そうじゃないとクロージャも作れず使い物にならないからでしょ
クロージャは環境を内包するものと考えれば、まさにクラスと同じだしね
0410デフォルトの名無しさん2015/11/17(火) 00:43:36.83ID:+/yiBKO+
swiftはじめて触ったけどデバッガで変更した値が反映されないぞ
どういうこと?
0411デフォルトの名無しさん2015/11/17(火) 06:41:13.64ID:s0AmLvy4
>>409
俺もそう思うがオブジェクト指向が「おいパン買ってこいや」で
「いつもの焼きそばパンなかったからアンパン買ってきました」までやってくれると
"俺"は楽でいいね。なのに対して、関数型言語理論の信奉者からみたら
上の例は副作用だらけで発狂するような惨状だからなw
ローレベルでの利点はわかるからうまくミックスされるといいんだが。
0412デフォルトの名無しさん2015/11/17(火) 07:51:44.95ID:1sTJz9AC
関数型ってのは部品がそうなってりゃいい話で、UIとか含めて全体を関数型でできるわけじゃない。
0413デフォルトの名無しさん2015/11/17(火) 08:04:29.26ID:mzWJw1SS
UIとか全体を含めて関数型言語で記述するためのからくりがモナドでしょ
0414デフォルトの名無しさん2015/11/17(火) 09:38:01.70ID:yMxQEAtM
GUIなんてぇのはその出自自体がSmalltalk(≒ケイらの暫定ダイナブックOS)で、
メッセージングOOPの申し子みないなもんだから。モナドなんかでこねくりまわすんじゃなくて、
今のGUIを越えるUI/UXを新しく関数型向けに再定義しなきゃ非効率でかなわん
0415デフォルトの名無しさん2015/11/17(火) 14:30:01.64ID:VYYqpjgI
Apple UIKitを関数型に再定義する酔狂な輩待ちだな
そこまで関数型とSwiftに酔った奴がいるとは思ってないけども

しかしまぁ、obj-cからdelegateは叩き易いけど、swiftから叩くとキモくていかん
スマートな文法を swift 3.0あたりで再定義願うぜ
0416デフォルトの名無しさん2015/11/18(水) 13:23:28.08ID:N1+LdCwz
>>415
どういう時がキモいの?if letで対象のプロトコルにキャストするのではいかんの?
0417デフォルトの名無しさん2015/11/19(木) 10:19:27.54ID:3KJLl7Wd
>>416
いろんなやり方あると思うけど、Swiftならそのデリゲートをプロトコルの型でオプショナル型のプロパティとして持つんやで。
デリゲートのメソッドを呼ぶ時はアンラップするだけ。
0418デフォルトの名無しさん2015/11/19(木) 10:21:18.09ID:3KJLl7Wd
何がキモいのかは俺もわかんないけど、まさかAnyObjectとかでデリゲート持ってるのか?
0419デフォルトの名無しさん2015/11/19(木) 14:42:19.80ID:Af3mSR/r
Swiftで辛いところはC/C++との連携部分くらいじゃないか?

オブCだけでできたところはSwiftの方が大分楽。もうオブCなんて使いたくない
0420デフォルトの名無しさん2015/11/19(木) 15:13:20.49ID:3KJLl7Wd
デキの悪い輩と協業するのが厳しい。
上のデリゲートの例じゃないけど、ObjCのノリでやたらとAnyObjectやAny型使ってきたり、強力なSwitch文使えば綺麗に整理できるところをこれでもかってif文で突っ走ったり、、、、
真顔でSwitch文は使う人が少ないから可読性が落ちるよ。とか言うからな、、、、
0421デフォルトの名無しさん2015/11/19(木) 15:19:22.13ID:3KJLl7Wd
>>419
Swiftは俺もよく出来てると思うわ。
でも未だにクラスと構造体どっち使うかすげえ迷うケースがあるわ。
Apple的には今は迷うならクラスにしとけって感じなんだろうけどね。
■ このスレッドは過去ログ倉庫に格納されています