トップページ⇒tech
1001コメント317KB

Swift part3

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん2014/07/23(水) 11:46:48.42ID:x29J8vdY
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

Apple Developer
https://developer.apple.com/swift/
Welcome to Swift
https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/
iBooks: The Swift Programming Language
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
書籍の形にはなってないけどドキュメント
The Swift Programming Language
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Swift Standard Library Reference
https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibraryReference/
Swift Blog
https://developer.apple.com/swift/blog/
Resources (Xcode 6が無料でダウンロードできる)
https://developer.apple.com/swift/resources/

関連スレ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/
帰ってきた動的言語 VS 静的言語(代表Swift)
http://peace.2ch.net/test/read.cgi/tech/1401809550/

前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
Swift part2
http://peace.2ch.net/test/read.cgi/tech/1402465335/
0821デフォルトの名無しさん2014/11/01(土) 19:22:13.09ID:woVuP3aC
>>820
お、おう…。
0822デフォルトの名無しさん2014/11/01(土) 21:28:35.49ID:FGLDgIeT
>>819
Objective-CとC++は殆ど同時期じゃないのか?
NEXTで採用されるまえは日陰の存在だったのは確かだが。
0823デフォルトの名無しさん2014/11/01(土) 21:34:19.93ID:woVuP3aC
>>822
ほぼ同時期と言えるかもね。4年くらいみたい
(↓のアドレスのiとtの間のスペース消してください)
http://bi t.ly/1u6w1aR
0824デフォルトの名無しさん2014/11/01(土) 21:38:02.00ID:woVuP3aC
あ、Objective-Cの話題はスレチと言われちゃうかもしれないので、
せっかく作ってもらった下記スレもよろしくですw

Objective-C [ObjC part:8.1]; [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1414816517/
0825デフォルトの名無しさん2014/11/02(日) 17:13:59.41ID:Rnn+BjWS
>>824
let s: プログラミング言語? = Swift[2]
http://anago.2ch.net/test/read.cgi/mac/1408755325/
↑作った人と同じ人?スレタイ気持ち悪いな
0826デフォルトの名無しさん2014/11/02(日) 17:26:24.60ID:pRBY2xBv
Obj-C スレの伝統的なスレタイだろ。

同じ人言い出すとかアホっぽい。
0827デフォルトの名無しさん2014/11/02(日) 17:33:19.55ID:02WOdBRy
気持ち悪いのは同意
0828デフォルトの名無しさん2014/11/02(日) 17:35:40.34ID:1g7aEKYI
AppleはObjective-Cを、MicrosoftはC++をそれぞれ除去して、
低レベルレイヤーはCオンリー、
アプリケーションはSwift、C#という流れに。
いずれも、AndroidがC(Linux) / Java体制であることの追従。
0829デフォルトの名無しさん2014/11/02(日) 17:48:01.03ID:WxYKI+Aa
バカはどうしてバカらしいことを表したがるのか
0830デフォルトの名無しさん2014/11/02(日) 18:10:54.24ID:02WOdBRy
>>828
何を言ってるのか判らない
0831デフォルトの名無しさん2014/11/02(日) 18:37:14.35ID:7FNYbovr
swiftはじめいろんなところで使われている
LLVMも、androidのdalvikも後継のartもc++な訳だが
0832デフォルトの名無しさん2014/11/02(日) 21:18:00.18ID:YswfxI+q
M$は typescript なんだよなぁ
まぁ swift 以上に流行ってないけど
0833デフォルトの名無しさん2014/11/02(日) 22:45:44.09ID:OykxcmmD
>>831
一般の開発者のアプリ開発環境に関して。OS自体とかVM自体の開発言語とかじゃなくてね。
0834デフォルトの名無しさん2014/11/02(日) 22:49:16.68ID:OykxcmmD
>>832
TypeScriptはJavaScriptに対するM$我田引水版でしょ?
0835デフォルトの名無しさん2014/11/03(月) 09:05:41.90ID:aNJ5eidf
>>828
いや言いたいことはわかる
0836デフォルトの名無しさん2014/11/03(月) 10:00:18.78ID:HzYodZ3D
SwiftはむしろC#よりもTypescript寄りだと思うんだが。
0837デフォルトの名無しさん2014/11/03(月) 12:05:07.64ID:vdVTW8lc
どう考えてもC#よりだろ
0838デフォルトの名無しさん2014/11/03(月) 12:06:22.46ID:FQhjg/Gj
確かにどうでもいい
0839デフォルトの名無しさん2014/11/03(月) 12:25:14.52ID:qgeZBYdQ
swiftもtypescriptもLLでネイティブバイナリを吐かせたかったんだろう
思いの外需要が少なくてあれー?って感じだけど
0840デフォルトの名無しさん2014/11/03(月) 12:46:17.18ID:QUZzxqR1
SwiftはLLじゃねぇよ
0841デフォルトの名無しさん2014/11/03(月) 12:58:03.27ID:mUxrT+3g
WLってこと?
0842デフォルトの名無しさん2014/11/03(月) 12:59:10.74ID:mUxrT+3g
間違った
HLってこと?
0843デフォルトの名無しさん2014/11/03(月) 13:34:01.98ID:aNJ5eidf
どうやらSwiftはscripterの餌食になってしまったようだな…ナムナム
0844デフォルトの名無しさん2014/11/03(月) 18:14:49.12ID:QUZzxqR1
>>842
Objective-CよりはLightWeightだけどだからと言ってLLと言えるほど敷居下げてるかといえば違うと思う
メモリ管理を気にする局面が全くないわけじゃないわけだしね
0845デフォルトの名無しさん2014/11/03(月) 23:53:39.16ID:ZM4YTP91
むしろ手動でretain/releaseする非ARCモードで使いたい
0846デフォルトの名無しさん2014/11/04(火) 01:40:42.47ID:9EcY1pYy
Project新規作成してビルドすると実機でだけdyld`dyld_fatal_error:が出るんだけどどうすれば回避できる?
0847デフォルトの名無しさん2014/11/04(火) 03:58:54.23ID:wWrb540Q
otool -Lでバイナリのリンク先がどうなってるか確認してみたら
0848デフォルトの名無しさん2014/11/04(火) 04:42:49.12ID:G7G9vU21
>>843
scripter層の囲い混みをする言語だから仕方ないね
objcに比べてユーザメリット皆無だけど、そこには辛うじてメリットあると思うよ
0849デフォルトの名無しさん2014/11/04(火) 16:33:17.35ID:5FvphjwS
>>845
そんなモードあったら絶対要らないバグ作りこむ奴がでるからwwww
出来る人向けに解放すると、その人が書いたコードを素人がコピペして惨劇を産むから結局は無い方がいい
0850デフォルトの名無しさん2014/11/04(火) 18:36:01.37ID:fQ8dMaO9
だってARCで自動挿入されるretain/release関係のクオリティが酷すぎるんだもん
0851デフォルトの名無しさん2014/11/04(火) 19:11:10.52ID:85J+IOSF
それでお前の作ったのが目に見えて遅くなるのか、または、バイナリがとんでもなく大きくなるのか
そうだとしたら、それはお前の作り方がおかしいw
0852デフォルトの名無しさん2014/11/04(火) 20:37:23.44ID:DT7Yayk+
謎のレッテル貼り
0853デフォルトの名無しさん2014/11/04(火) 20:52:42.83ID:XS5cUtIi
いや、よっぽど凄腕でない限りiOSの流儀から外れるのは迷惑以外の何物でもない
視野が狭く、局所的な効率だけでプロジェクトとしてはボトルネックな自己満
自分一人のプロジェクトでメンテもずっと自分だけならその世界に閉じこもってりゃいいが
0854デフォルトの名無しさん2014/11/04(火) 22:38:37.48ID:wWrb540Q
いや別にARC使わないのもiOSの流儀としてあるんだけど。
ObjCでは選べるがSwiftでは選べないというだけ。
0855デフォルトの名無しさん2014/11/05(水) 00:03:50.03ID:4pT9z3sx
プロジェクトの作成からARC使えというようなもんなんだから、そういう流れなんじゃね
新しい言語でわざわざ不必要としているようなものをサポートすることはないわな

パフォーマンスに影響ないんだったら>>850なんて単なる趣味の範囲だとしか思えない。俺はもちろんARCにしてパフォーマンスの影響を感じたことはないからな
0856デフォルトの名無しさん2014/11/05(水) 00:10:12.54ID:Ou06LuxB
影響を感じた事が無いのは、単純にパフォーマンスを必要としない
程度のプログラムしか書いてないからじゃないの?
0857デフォルトの名無しさん2014/11/05(水) 00:13:18.77ID:4pT9z3sx
そんな厳密(たかがカウンタアップダウンしているぐらい)なものを作っているお前はすげーなあ
たかがカウンタアップダウンしているぐらいで厳しいなら、もちろんIMPコール多様してたりするんだろうなあ。すげーなあ
0858デフォルトの名無しさん2014/11/05(水) 00:22:37.44ID:4pT9z3sx
そんなに厳密にパフォーマンスが必要ならCで書けが結論かw
なにをSwiftに求めているのかイミフ。Cブリッジ(?)のパフォーマンスを気にした方がいいんじゃね?w
0859デフォルトの名無しさん2014/11/05(水) 01:04:14.60ID:GT+3eS/X
そもそもどう酷いのか具体的に書いて欲しい所なんだけど
0860デフォルトの名無しさん2014/11/05(水) 07:27:46.48ID:IyxKDUGk
オリジナルのコーディックとか、Core Audioバリバリの音楽アプリでも作ってるだろうか?
3DゲームですらCやC++なんて、エンジン部分以外あんまり使わんよね。
0861デフォルトの名無しさん2014/11/05(水) 07:53:45.79ID:p98IckmS
一時オブジェクトを作って返すような場合、MRCではautoreleaseして返す必要があるけど、
ARCでは戻り値の返し方に細工をしてautorelease poolに入れずに処理しているから、
多少ARCが吐くコードがへぼくても、それだけでお釣りが来るってARC導入時に聞いたよ。
0862デフォルトの名無しさん2014/11/05(水) 10:07:50.38ID:YVLaOf1W
そこまでクリティカルなものだったら
最速になるように1クラスに自分で全部手で詰めろって話だしなぁ
難癖のレベルからしてARCのせいじゃねぇよな。
0863デフォルトの名無しさん2014/11/05(水) 10:45:46.02ID:35/lHaQv
何かJavaっぽい悩みだなw
ポインタよこせ、いや触らせないのがいい、JNIのオーバヘッドを気にしろよ、とか。
GCよりは、ARCの方がコントロールしやすいんだからJavaよりはマシだとは思うけどね。
0864デフォルトの名無しさん2014/11/05(水) 10:54:25.76ID:Ab01tt7g
>>863
メリット、デメリットあるからどっちが良いわけじゃないだろ
適性は言語やランタイムに依るし、アホっぽいコメントだな
0865デフォルトの名無しさん2014/11/05(水) 16:12:57.00ID:31XmF6ZE
Swiftでアプリ出したよー!
0866デフォルトの名無しさん2014/11/05(水) 19:34:12.79ID:WwM6K55L
結論、Objective-Cでおk
0867デフォルトの名無しさん2014/11/05(水) 19:38:03.72ID:UrmWA73Z
WatchKitはSwiftのみっていう強引な手法に出てくるから発表を楽しみにしてな。当たったらこのレスを予言として取り上げてくれ。
0868デフォルトの名無しさん2014/11/05(水) 19:42:31.26ID:CkX/1aw5
外れたら?
なんのリスクも無い2択の片方だけでなにか自己満足したがるなんて都合がよいことで&幸せなことで(しかも予言ww)
0869デフォルトの名無しさん2014/11/05(水) 20:04:48.87ID:UrmWA73Z
当たってもなんも無いんだからいいだろw
0870デフォルトの名無しさん2014/11/05(水) 21:04:39.88ID:CkX/1aw5
「予言として取り上げてくれ」って言っているじゃんw
まあ、冗談だとしても当たっていたらなんらかのってのは透けて見えるな
0871デフォルトの名無しさん2014/11/05(水) 22:30:48.17ID:31XmF6ZE
初心者だけどObjective-Cは読みにくいと思ったよ。
Swiftはまあまあ。JSみたいな感じ。

でもいまだに文字で綴って長い文章ファイルにしないといけない所が作り手としてはテンション下がる。
ヴィジュアルイメージで各パーツを設定して結線していった方が記述ミスもエラーも出ないし、プラモデル感覚でソフト開発できるじゃん?
それがオブジェクト指向なんじゃないでしょうか?
そうすることの不都合が初心者にはわからない。
まあ、言語じゃなくて開発ソフトの話だね。スレ違いだったよ、ごめんね。
0872デフォルトの名無しさん2014/11/05(水) 22:40:11.60ID:Q9wGrCYd
プラモデルって出来るもの大体決まってるんだけどそういうのがいいの?
0873デフォルトの名無しさん2014/11/05(水) 22:56:57.16ID:rP9iplBY
カルネージハートをやりこんでみろ、Visulanでもいいけど
GUIの反復操作メンドクサイですテキストの方が簡単でいいですってなるから
0874デフォルトの名無しさん2014/11/05(水) 23:03:54.97ID:0D+5IDr7
>>871
オブジェクト指向の話とは関係ないし、何を言ってんだろう。

住宅街を見ても、プレハブ住宅って少ないだろう。
0875デフォルトの名無しさん2014/11/05(水) 23:16:33.20ID:31XmF6ZE
それ言われると思った!
表示に関してはOSデザインに沿ったものが出るようになってるし(規制ではないけど)、ある程度パーツを組むだけの構造になってない?
電子工作でも何にでも使えるパーツはあるもん。ヴィジュアルイメージは小さくしなくていいからスイッチとかも使いやすくできる。
ちょっと機能不足だからもう一個付け足すようなこともヴァーチャルだから無い。
そしたらiPadとかでたいした言語構造も知らずにフローチャート図的な物を描くだけでバグの無いソフトウェア開発ができるようになると思うんだ。
見た目や作業が簡単なら複雑な機能も搭載しやすいし、今より高度な計算・機能を搭載したアプリもどんどん出ると思う。

ってSwiftスレで話すようなことでも無いけど。
今売ってるアプリが爆発的に売れたら開発してみるよw
0876デフォルトの名無しさん2014/11/05(水) 23:21:43.75ID:31XmF6ZE
知らない間に荒れてた、、ごめんね。
カルネージハートはワロタw
0877デフォルトの名無しさん2014/11/05(水) 23:37:57.24ID:MH3i81pb
AppleもこれまでにもQuartz Composerっていうビジュアルプログラミングツールとか、
Dashcodeみたいなオーサリングツール的なのとか、Automatorみたいなワークフロー自動化ツールとか、色々作ってるけど
どれも開発のメインストリームになるには程遠かった
Quartz ComposerもAutomatorもちょっとしたものならいいけど、それ以上になると結局部品自体をコードで書かないといけないのは同じこと
0878デフォルトの名無しさん2014/11/05(水) 23:44:27.05ID:zEGSOnRu
Interface Builder を忘れているよ
まあ、あれは Next Computer 製だけどね
0879デフォルトの名無しさん2014/11/05(水) 23:49:02.43ID:UrmWA73Z
>>870
分かった分かった。じゃあ外れたらレス取り上げて貶してくれていいからw
0880デフォルトの名無しさん2014/11/06(木) 00:24:37.12ID:h1DKP5mt
Quartz面白そう!あれでOSの一部を作ってるんだね。
うーん、最低コードの塊を設定次第で色分け表示してほしいな。
TABで列変えても塊がわかりにくいよ。収納はできるのに。。

それより何でObjective-CとSwiftでグローバル変数の速度が違うんだろう。
この前、アプリを部品(クラス)毎にファイル分けて作ってたら表示が凄い遅くなってて、ViewControllerで使う変数をそっちに出したら一瞬で表示されたんだ。
あれがネックで完全なパーツファイルを作れない。
まあ、やり方はあるらしいけど面倒いよ。
0881デフォルトの名無しさん2014/11/06(木) 00:45:22.50ID:B9sZ4Nql
また出た、謎のグローバル変数君
0882デフォルトの名無しさん2014/11/06(木) 01:17:10.20ID:PmjlTjUD
まぁ初心者みたいだから大目に見てやろうじゃないか

職場にそんなやつ居たら許さんけど
0883デフォルトの名無しさん2014/11/06(木) 01:39:26.27ID:DFnFp5B4
_人人人人人人人人人人人人_
> グローバル変数の速度 <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
0884デフォルトの名無しさん2014/11/06(木) 11:40:14.05ID:sGOwBGFo
Swift使ってる職場はまだ少ないんでねーっすかね。
一人開発か、新規案件とかばかりじゃない??
0885デフォルトの名無しさん2014/11/06(木) 12:44:30.07ID:DlQgEpW6
そら新規案件だろうよ
今わざわざ既存案件を書き直す必要が無い
新規案件でも開発の習熟度がネックだしまだ仕事で取り組んでる所は少ないだろうね
0886デフォルトの名無しさん2014/11/06(木) 12:53:39.55ID:krPLQIJl
既存のプロジェクトをSwift移行するメリットは無いしな。
学習コストやバグのリスクのほうが高い。
新規プロジェクトでもリスク・コストを避けてSwiftは使ってないな。
完全に新規参入者・教育向けの言語だよな。
0887デフォルトの名無しさん2014/11/06(木) 13:53:37.69ID:BYHz31Tw
スクリプトプログラマに swift コード見せたら分かりやすくてイイネとほざいた
スクリプト屋には評判良さそう、PHPやRubyが流行ったように特定の人は絶賛して使うだろうよ

俺はデメリットばかり見えたので当分は swift を業務案件で勧めるのは止めようと思う
0888デフォルトの名無しさん2014/11/06(木) 14:42:29.30ID:NMJhpzA8
>>887
どんなデメリット?
0889デフォルトの名無しさん2014/11/06(木) 14:55:22.34ID:6ABTX0G1
スクリプト屋だろうが何だろうがちょっとばかしコード見ただけではダメな部分わからんだろ
0890デフォルトの名無しさん2014/11/06(木) 17:39:40.81ID:xJXGZ9Xe
>>888
容量でかい、速度遅い、 Xcode6不安定
obj-cで全く同じことが表記違うだけで出来るなら obj-c 使わない理由はないわな
あ、あとobj-cのライブラリが swift から直接叩けないものがあって泣いた
Lumberjackのラッパー探し回ったぜ

swiftのメリットは表面上の表記がスクリプトライクでその方面のエンジニアが手が出しやすいことだと思う
0891デフォルトの名無しさん2014/11/06(木) 17:58:38.42ID:ntLQp+bs
同意せざるを得ない
0892デフォルトの名無しさん2014/11/06(木) 18:19:58.71ID:gWFN9Xhs
> スクリプト屋には評判良さそう
> その方面のエンジニアが手が出しやすい

入り口は簡単そうに見えてやり始めたら深みにはまるけどなw
とりあえず始めてみようって気にはなるよね。
0893デフォルトの名無しさん2014/11/06(木) 18:21:51.41ID:fpUjchpF
Swiftってそんな奥深さのある言語なのか
0894デフォルトの名無しさん2014/11/06(木) 19:04:20.91ID:sGOwBGFo
奥深いというか、穴が深いというか……
0895デフォルトの名無しさん2014/11/06(木) 19:50:02.68ID:NHIUAdgf
スプリプトプログラマとかスクリプト屋とかいう呼び方に違和感
0896デフォルトの名無しさん2014/11/06(木) 20:01:31.32ID:XYL7Ijad
そりゃtypoしてんだもん違和感あるだろ
0897デフォルトの名無しさん2014/11/06(木) 20:09:03.47ID:h1DKP5mt
ここSwiftスレだけどobjective-cの何がそんなにいいの?
それならCの書き方の方が見易いし、Cの方がいい。
Swiftの旨味を知りにきたのにテンション下がるわ。
可読性以外は全てにおいて劣化した言語なのかい?
今はできなくてもこれから期待できる機能とか無いのかな?
0898デフォルトの名無しさん2014/11/06(木) 20:13:36.75ID:WDgr6Zbs
グローバル変数との戦いはテンション上がりそう(道化的な意味で
0899デフォルトの名無しさん2014/11/06(木) 20:36:07.17ID:pZw/zM7a
グローバル変数の人まだいたんだ
0900デフォルトの名無しさん2014/11/06(木) 20:51:24.68ID:oudJfJTT
nib
0901デフォルトの名無しさん2014/11/06(木) 21:12:22.65ID:4Om1v5TR
>>900
なんかInterface builderの頃が思い出された
0902デフォルトの名無しさん2014/11/06(木) 21:20:42.99ID:IuXmBwd7
>>897
>Cの書き方の方が見易いし、Cの方がいい。
の時点で「Objective-Cはソースをちらっと観たことがあるだけで
どういうものかなにひとつわかってないけど。」なんだと
きみの書き込み見た全員が気付いたと自覚できてる?
0903デフォルトの名無しさん2014/11/06(木) 21:22:55.49ID:DFnFp5B4
objc_msgsend駆使してたんだろ(適当
0904デフォルトの名無しさん2014/11/06(木) 21:25:41.17ID:cOmT9U7v
別の用途のものを比べてどーすんだ
0905デフォルトの名無しさん2014/11/06(木) 23:02:39.52ID:4Om1v5TR
Objective-Cは、Cがわかってれば、オブジェクト指向部分と
レガシーなC部分がはっきり区別できる文法であることがわかり
その素晴らしさに気づくことだろう
0906デフォルトの名無しさん2014/11/06(木) 23:38:59.42ID:DRdHV0SA
>>905
だから、結局、Pure-Cの部分は、Cで、Non-Cの部分はSwiftで(Objective-C without C)ってことで、
Objective-Cを解体するのが目的でしょ、Appleは。
0907デフォルトの名無しさん2014/11/07(金) 02:06:42.21ID:fOyqDgx0
>>906
Appleとしてはもっと安全性が高い言語が欲しかったんだろうね
SwiftでやってることをObjective-Cに落とし込もうとしても
C言語の部分が邪魔になるのは目に見えてるし
0908デフォルトの名無しさん2014/11/07(金) 09:32:28.40ID:VQBFa4Qn
そんなに安全でもなく結構 BAD ACCESS で落ちるから困る
言語仕様で安全性が担保されると思うなよ(自分のコーディングスキルの低さは棚の上
0909デフォルトの名無しさん2014/11/07(金) 11:35:21.37ID:pnBb82d6
Swiftってnilメッセージが無くなった分BAD ACCESSで落ちる用になったじゃん?
オプション記法も結局プログラマに面倒押し付けただけじゃん?
0910デフォルトの名無しさん2014/11/07(金) 12:07:26.67ID:wECOhfmE
何をやらせてもダメな奴っているんだよな
0911デフォルトの名無しさん2014/11/07(金) 12:12:04.58ID:vCKUQYb8
BAD ACCESSで落ちるって例えばどんなときだ?
0912デフォルトの名無しさん2014/11/07(金) 13:22:55.50ID:jW9I/+JG
>>910
だからswiftなら言語仕様でダメなヤツが救えるといううたい文句なんじゃん
救えてないから笑わせてくれるけども

自分が見た BAD ACCESS はFramework APIに?なオブジェクト渡したり
var any: AnyObject? = nil をprint("\(any!)")したり
まぁ、小まめにnilチェックしろってことだが
春先のデモでnilチェックがswiftなら要らなくなるって言ってたじゃん、、、(そうは言ってない)
0913デフォルトの名無しさん2014/11/07(金) 20:31:40.88ID:9m2kdIC8
クローズドソース言語なんてよく使う気になるな
0914デフォルトの名無しさん2014/11/07(金) 21:18:27.78ID:sVJnZz/O
!は使わずにnilチェック丹念にやればとは言うけど、if letのネストがバカバカしすぎる
ウィキペに影響を受けた言語Haskellとあるけど、冗談としか思えない
0915デフォルトの名無しさん2014/11/08(土) 00:36:45.26ID:1m/Cizy8
Swiftは「事前にnilを排除する」か「”意図的に”nilチェックを除外する」
の2択しかないから「nilチェックを忘れる」ということが起こり得ない

ついでにインスタンス変数にnilが代入されてる時の挙動はそれぞれ
インスタンス変数!.メソッド()の場合:ランタイムエラー
インスタンス変数?.メソッド()の場合:エラーは吐かずnilを返す(Objective-Cと同等)

>>912
>var any: AnyObject? = nil をprint("¥(any!)")
どういう挙動を想定しているかは知らないけど単純にprintlnでnil出力する意味はない

>>914
>if letのネストがバカバカしすぎる
これは同意
タプルで一括代入とかきればいいんだけどね今後に期待
0916デフォルトの名無しさん2014/11/08(土) 01:21:48.28ID:RwniIvSP
よくわからんけど、結局はnilチェックしろってことでおk?

print("\(any!)") は単純な例が上がらなかったから適当だったけど
var httpGetQuery = "key=\(value!)" みたいなケースな
「key=Optional("value")」にされても困るから ! が必要だけど
その前に nilチェック しないとウボァってなったわ
0917デフォルトの名無しさん2014/11/08(土) 01:32:25.88ID:RwniIvSP
あぁすまん、結局はobj-cと変わらずnilチェックしろってことでおk?
って意味な、nilチェックはやるよ真面目に
この点、関数コールは楽になったが対してobj-cから変わってないよなぁ
0918デフォルトの名無しさん2014/11/08(土) 04:41:19.01ID:I0LEzIh2
nilチェックめんどくさいって言ってる人は、objcでチェック省いてヌルポするのか??....
nilはそもそもチェックしないといけないものですけど...

optionalじゃなければnilでないことが担保されるのが利点なのに
0919デフォルトの名無しさん2014/11/08(土) 07:40:46.87ID:p1cfQewS
結論、Objective-Cでよくね??
0920デフォルトの名無しさん2014/11/08(土) 08:21:32.94ID:FLsnICPe
>>918
nilでなにもしない、NOPのようなもんでチェック無しでスルーは結構するな。あと、スルーしといてあとでまとめてチェックとか

nilでないことが担保されるって、nilだったらクラッシュするんでしょ。nilでバグで苦しんでいるのには朗報なんだろうが、そんなことほとんど全くなかったり
レス数が900を超えています。1000を超えると表示できなくなるよ。