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

Swift part3

■ このスレッドは過去ログ倉庫に格納されています
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/
0071デフォルトの名無しさん2014/08/15(金) 14:53:58.04ID:HBtdHn8g
まぁ気に入らなきゃ extension で全て解決やな
お騒がせ
0072デフォルトの名無しさん2014/08/15(金) 14:59:37.87ID:Lne+Px+X
そうだ
靖国、
逝こう。
0073デフォルトの名無しさん2014/08/15(金) 15:17:20.80ID:IEcKMmnc
>>70
それだとハッシュ値計算が重くなるよ。
単純な数値計算が望ましいから、Javaみたいにするのが無難
0074デフォルトの名無しさん2014/08/15(金) 15:21:15.99ID:IEcKMmnc
>>71
いやだから、StringのhashValue変えることに意味無いんだって。
この場合、XORでなく、他の方法でハッシュ値求めればいいだけだよ
0075デフォルトの名無しさん2014/08/15(金) 15:35:30.99ID:ZaXPBhtE
いつでも重複しにくい推測されにくいような値になる計算をとしたらmdやshaみたいなことになって、
それをインスタンスを作るたびに計算をさせていたらクソ遅いとかw
0076デフォルトの名無しさん2014/08/15(金) 15:47:01.00ID:HBtdHn8g
>>74
もうSipHash 2-4で実装しなおした
0077デフォルトの名無しさん2014/08/15(金) 16:14:55.16ID:IEcKMmnc
>>76
などほどHashDoSか
でもSwiftってiOS/OSX向けだからDoS攻撃されることなくね?
あと、スクリプト言語はともかく、Obj-C並みの速度で動作するSwiftへのパフォーマンスの影響はいかほどなんだろう。
0078デフォルトの名無しさん2014/08/16(土) 00:47:57.07ID:XlNU51V9
extensionは関数のオーバーライドできないんだな。Obj-Cはできていたが
0079デフォルトの名無しさん2014/08/16(土) 08:42:21.65ID:DXpV4TuM
え?
0080デフォルトの名無しさん2014/08/17(日) 11:21:02.10ID:NRGjpcdU
これがエラーになるんですがなんでですかね?

var d = ["a": 10, "b": "BBB"]
d["C"] = "123"


ちなみに、こっちはOKでした。

var d:[String: Any]= ["a": 10, "b": "BBB"]
d["C"] = "123"
0081デフォルトの名無しさん2014/08/17(日) 13:19:14.20ID:V8SXHhEt
無限ループこわい

struct S {
var a: Int = 0 {
didSet {
println("a did set: ¥(a)")
b = a + 1
}
}
var b: Int = 0 {
didSet {
println("b did set: ¥(b)")
a = b + 1
}
}
}

var s = S(a: 0, b: 0)
s.a = 1

a did set: 1
b did set: 2
a did set: 3
b did set: 4
a did set: 5
b did set: 6
a did set: 7
…
0082デフォルトの名無しさん2014/08/17(日) 13:26:01.14ID:V8SXHhEt
>>80
上は Foundation.NSDictionary になるからダメ
下は Swift.Dictionary<String, Any> だからおk

ちな
var d = ["a": 10, "b": "BBB"].mutableCopy()
d.setObject("123", forKey: "C")
println(d.description)

{
C = 123;
a = 10;
b = BBB;
}

NSMutableDictionaryにしてもSwiftのsubscript持ってないから使いにくいね
0083デフォルトの名無しさん2014/08/17(日) 13:29:48.59ID:V8SXHhEt
あ、勘違い
NSMutableDictionary でも subscript 使えたわw

var d = ["a": 1, "b": "2"].mutableCopy() as NSMutableDictionary
d["c"] = 9
println(d)
0084デフォルトの名無しさん2014/08/17(日) 13:31:26.48ID:V8SXHhEt
あ、mutableCopy() なくてもいけたw

var d = ["a": 1, "b": "2"] as NSMutableDictionary
d["c"] = 9
println(d)

連レススマソ
0085デフォルトの名無しさん2014/08/17(日) 13:37:39.60ID:Oy9xGDlU
>>84 わざわざそんなことするなら最初からSwift.Dictionary使うよね
型変換のサンプルとしてなら解るが
0086デフォルトの名無しさん2014/08/17(日) 14:03:51.32ID:K7CnHZGx
>>85
問題は、リテラルで暗黙的にSwift.Dictionary を 作ろうとした時に、typoでFoundation.NSDictionary に なってしまい、さらにその行ではエラーにならない可能性がある、という点だと思います
0087デフォルトの名無しさん2014/08/17(日) 14:31:33.29ID:6prtFSik
Anyは型類推を使わないようにした方が確実と言うことかな
Typo も多いだろうし
0088デフォルトの名無しさん2014/08/17(日) 14:34:39.04ID:NRGjpcdU
>>82-84
レス感謝
リテラルだとNSDictionaryになる場合があるんですね
なんか分かりにくいですね。もうちょっとわかりやすい規則性だといいんですが...
0089デフォルトの名無しさん2014/08/17(日) 14:51:16.87ID:LfZg7/6z
valueがAnyだとNSDictionaryになるみたい。
valueをAnyObjectにするとDictionaryになる。

おそらく、Obj-Cとの互換性のためじゃないかと思う。(NSDictionaryのvalueはAny扱いだろうから)
StackOverflowでも同じ話題が出てる
http://stackoverflow.com/questions/24023622/swift-dictionary-bug
0090デフォルトの名無しさん2014/08/17(日) 14:53:42.48ID:LfZg7/6z
でも、SwiftのDictionaryはvar/letでmutable/immutableだから、この仕様(というか実装)は微妙だなあ
0091デフォルトの名無しさん2014/08/17(日) 15:03:23.86ID:LfZg7/6z
すまん、NSDictionaryのvalueもAnyObjectだな
連レス失礼
0092デフォルトの名無しさん2014/08/17(日) 15:47:24.27ID:V8SXHhEt
NSMutableDictionaryは参照型だから別に整合性はある

AnyやAnyObjectは祖先クラスじゃないから、[1, "a"]ってしたときに共通の祖先クラスがなくてSwiftの世界じゃ型を決められない

共通の祖先クラスがあればちゃんと型推論働く

class Sup {}
class SubA : Sup {}
class SubB : Sup {}
class SubC : Sup {}

var arr = [SubA(), SubB()] // <-ちゃんと[Sup]型になる
arr.append(SubC()) // [Sup]型だからSubCも突っ込める
0093デフォルトの名無しさん2014/08/17(日) 21:19:17.58ID:QzjnpziE
これが警告もないとは...やっぱり糞言語だな

var i = 10
for i in 1...5 {
println(i)
}
println(i)
0094デフォルトの名無しさん2014/08/17(日) 23:11:23.64ID:n698S0JW
まあ、そんなことを意図的にする場合は少ないけど、 i とか普通に使っているアホだからすぐに糞いいたたがるのだろなっとw
0095デフォルトの名無しさん2014/08/17(日) 23:23:32.70ID:GikCLa8j
>>94
無理があるな
0096デフォルトの名無しさん2014/08/17(日) 23:28:28.38ID:Dhvcldox
>>93
警告がないことがクソな理由がわからん
0097デフォルトの名無しさん2014/08/17(日) 23:33:37.07ID:LfZg7/6z
>>93
何か問題あるのか?
for文の中でだけiはカウントされているのに?
0098デフォルトの名無しさん2014/08/17(日) 23:34:59.76ID:QzjnpziE
何故かこっちは期待した動き...やっぱ糞言語だわ

var i = 10
for i=0; i<=5; i++ {
println(i)
}
println(i)
0099デフォルトの名無しさん2014/08/17(日) 23:36:24.94ID:LfZg7/6z
>>98
var i = 10
for var i=0; i<=5; i++ {
println(i)
}
println(i)
0100デフォルトの名無しさん2014/08/17(日) 23:41:12.49ID:tBLxxj+B
>>98 なぜかもクソもあるか、ごく自然な文法だろが。 そんな事も解らなければ入門書を10冊読め
0101デフォルトの名無しさん2014/08/17(日) 23:43:25.37ID:LfZg7/6z
>>98は外部スコープの変数をそのまま参照
>>99は新たに変数を定義している。for-inも同じ
って違い
0102デフォルトの名無しさん2014/08/17(日) 23:50:58.64ID:QzjnpziE
糞言語すぎてやる気なくなったからもう寝るわ
0103デフォルトの名無しさん2014/08/18(月) 00:11:33.88ID:En9s5gLv
×糞言語すぎてやる気なくなったからもう寝るわ
○糞理解力すぎて恥ずかしくなったからもう寝るわ
0104デフォルトの名無しさん2014/08/18(月) 02:59:27.51ID:O5wid4ZY
馬鹿には無理
0105デフォルトの名無しさん2014/08/18(月) 09:45:40.90ID:AEgSkInF
今んとこはまだマニアのための玩具ってかんじだな
いろいろと粗が目立つ
開発者からのフィードバックも膨大に溜まってんだろ
こなれてくるまでには2,3年はかかるか
0106デフォルトの名無しさん2014/08/18(月) 14:58:59.79ID:AbutQB81
>>105 1年もあれば落ち着くだろ
ライブラリの整備は多少時間がかかるかもしれないが
0107デフォルトの名無しさん2014/08/18(月) 15:16:48.80ID:+QBXrcY+
>>101
これcも同じだけど。スコープとか知らんの?
0108デフォルトの名無しさん2014/08/18(月) 15:18:22.93ID:kU0z26/t
>for i=0; i<=5; i++ {
つうかどうしてアホー言語っていちいち字面をキモくしなきゃ気がすまないんだ
0109デフォルトの名無しさん2014/08/18(月) 15:26:28.48ID:r8tHn57o
最近の言語は、、、まあいいや
0110デフォルトの名無しさん2014/08/18(月) 15:44:54.29ID:7O3aXnPz
カッコつけてもええんやでえ。でもそのうち淘汰されてそっちがダサくってな
いわばTPOっていう?w
0111デフォルトの名無しさん2014/08/18(月) 15:50:06.54ID:AbutQB81
>>108 アホはCも知らないのか?
それが嫌ならこんなのどうだ?好きなの使え

for i in 0...5 {}
0112デフォルトの名無しさん2014/08/18(月) 15:52:47.66ID:r8tHn57o
... は ..< になったんじゃ?
ってそういやbeta5が出てたな
0113デフォルトの名無しさん2014/08/18(月) 15:53:32.18ID:IXyCPeCc
var i = 10
for i=0; i<=5; i++ {
println(i)
}
println(i)

これを for in を使って書くとしたら...
0114デフォルトの名無しさん2014/08/18(月) 16:16:23.42ID:DYjOgIx2
dan kogai...
swiftにコミットするのやめてくれんかのう
0115デフォルトの名無しさん2014/08/18(月) 16:21:49.19ID:AbutQB81
>>112 a < b の範囲 a .. b が、a ..< b に変わっただけ
a <= b の範囲は a ... b のまま
0116デフォルトの名無しさん2014/08/18(月) 16:43:01.98ID:nVnuxrx8
>>108
Cのfor文の丸括弧を取っ払っただけだし,C++,C#,Javascriptでも同種の構文があるんだが。
何にも知らないんだね。
0117デフォルトの名無しさん2014/08/18(月) 16:46:35.71ID:r8tHn57o
あー、はいはいそういうことかありがとう >>115

for文で <= 使うのはかなり特殊なケースだから勘違いしちゃったよ
まあこう書くと反論する人いるだろうからこのへんでー
0118デフォルトの名無しさん2014/08/18(月) 21:16:14.69ID:jy6904iq
セミコロンとかっこをつけたら、ほぼC構文
ぎゃくに、ちょこまか変えてるのが今はウザい
しかも、つけてもコンパイルとおるって言う
じゃあ何でとったっていう
0119デフォルトの名無しさん2014/08/18(月) 21:19:53.54ID:WWtz0eQI
そんなにセミコロン書きたいのか?
しばらくSwift書いてObjCに戻ったらセミコロンがもの凄くかったるく感じる
0120デフォルトの名無しさん2014/08/18(月) 21:42:59.44ID:En9s5gLv
>>118
aaa(); bbb()
こんな風に一行で書くには;がいるわけ
今は省けるもんは省くのがトレンドだからね(型推論にしても)
でも、Swiftは無闇に省いているわけではない。
例えば、ifなどの制御構文のブロックとか、return句とかは必須だ。
0121デフォルトの名無しさん2014/08/18(月) 21:43:56.75ID:jy6904iq
>>120
そうだ、それがうぜー
全部つければ何も考えなくていいのに
0122デフォルトの名無しさん2014/08/18(月) 21:47:40.83ID:En9s5gLv
>>121
そのうち慣れて何も考えなくても書けるようになるよ。
0123デフォルトの名無しさん2014/08/18(月) 21:50:27.90ID:jy6904iq
>>121
ところで、if文ブロックとreturnにセミコロンが必要ってのはどこに書いてあったっけ?
0124デフォルトの名無しさん2014/08/18(月) 21:53:11.65ID:jy6904iq
鵜呑みにしたおれがアホだった
今リファレンス読んでみたけど、>>120の1行目だけ正しいね
0125デフォルトの名無しさん2014/08/18(月) 21:56:58.04ID:jy6904iq
結局セミコロンは書かなくてもいい(まあ書きたきゃ書いてもいいけど)って書いてある
一行にまとめて書く場合以外は
0126デフォルトの名無しさん2014/08/18(月) 22:01:50.19ID:En9s5gLv
>>123
ちゃうちゃう、制御文にブロックが必要ってこと
Swiftでは以下のようには書けない
//-------
if (a.hasPrefix("s"))
doSomething()

// これはOK
if (a.hasPrefix("s")) { doSomething() }
//-------

あと、Rubyみたいにどこでもreturnが省けるわけではないということ

//------
func empty() -> String { return "" } // return必須

class SomeClass {
var aaa:String { return "AAA" } // return 必須
}
let f:()->String = { "aaa" } // クロージャは式のみの場合returnを省ける

let f2:()->String = { var a = "aaa"; return a } // こっちはreturn必須
//------

セミコロンにしても、締めるところは締めていると言うことを言いたかったんや。
0127デフォルトの名無しさん2014/08/18(月) 22:16:02.11ID:jy6904iq
>>126
なるほど、そういうことか
全部セミコロンの話かと思ってた
どうもありがとう
にしても、
 if (a.hasPrefix("s"))
 doSomething()
はやりそうだなぁ

Cでも、単文でも極力{ }でくくるようにはしてるけど
0128デフォルトの名無しさん2014/08/18(月) 22:33:45.06ID:WWtz0eQI
if文はアップル自身が痛いチョンボやらかしてるからな
0129デフォルトの名無しさん2014/08/18(月) 23:24:23.43ID:TotxymUg
全然関係ない。if文絡みであっただけで、単なるコピペミスだろ
あれ、一目見ておかしいと思わないの? { } でくくっても同じだろ
0130デフォルトの名無しさん2014/08/19(火) 00:02:18.38ID:dGN2Xh51
あんなのコーディング作法がどうとかいう問題じゃないだろ
あんな重要なとこまともにテストしてないのがおかしい
0131デフォルトの名無しさん2014/08/19(火) 13:57:12.16ID:c6AsXCDx
「これは間違いなく普及する」小飼弾、Swift愛を語る
http://news.livedoor.com/article/detail/9157615/

「2014年前半のインパクトはもう圧倒的にSwiftの登場。これは間違いなく普及する」と小飼氏が断言する理由は、次の5つに集約されるそうだ。

【1】既存環境の言語との高い互換性
【2】他の言語の“負の遺産”を捨てている
【3】優れたリファレンス
【4】iOSエンジニアをアセンブラ領域まで進出させる可能性
【5】クローズドから始めてオープンへというAppleの戦略意図を感じる
0132デフォルトの名無しさん2014/08/19(火) 14:08:21.75ID:sBhGF3j6
小飼が絶賛したPerl6はほとんど普及してないわけだが
0133デフォルトの名無しさん2014/08/19(火) 14:28:29.94ID:c6AsXCDx
>>132 それはPerlオタクだから仕方ないだろ そのオタクが他の言語に目移りしたと言う事は注目に値する
0134デフォルトの名無しさん2014/08/19(火) 15:16:25.26ID:0B3vcACg
dankogaiのコードってゴミコードしか見たことないんだけど、なんかすばらしいコードでも書いてるのか?
0135デフォルトの名無しさん2014/08/19(火) 15:25:47.81ID:sBhGF3j6
そんなことより、貴殿の宝石の様に煌めく素晴らしいコードをぜひとも拝ませて欲しいです。
0136デフォルトの名無しさん2014/08/19(火) 15:38:00.06ID:0B3vcACg
>>135
俺の書くコードの質と、dankogaiが書くコードには何の関係もないよ。

以前
http://blog.livedoor.jp/dankogai/archives/51767934.html
で偉そうなこと書いてその後こてんぱんにやられてたが、少なくとも404 Blog Not Foundに書かれるコードは糞コードだらけだ。
0137デフォルトの名無しさん2014/08/19(火) 15:57:36.88ID:sBhGF3j6
>>136
どこがどういう理由で糞なのか参考までに教えて頂けると助かります。
0138デフォルトの名無しさん2014/08/19(火) 16:00:56.56ID:muSpSvbP
>>136
下までスクロールするとブラウザがフリーズした
0139デフォルトの名無しさん2014/08/19(火) 16:13:13.66ID:lLkg1CgN
>>136 何年前の記事を張ってるんだよ
404で見たこと無い。 Swift のコードはほとんどQiitaだろ
最近Swiftばかり
0140デフォルトの名無しさん2014/08/19(火) 16:19:24.69ID:lLkg1CgN
そんな事より Beta6が出てるぞ
0141デフォルトの名無しさん2014/08/19(火) 16:24:34.18ID:0B3vcACg
>>139
何年前って2012年の記事だろ。

> Swift のコードはほとんどQiitaだろ
あ、そうなの?dankogaiのまともなコードがあるならリンクよろしく。まあないと思うけどな。
0142デフォルトの名無しさん2014/08/19(火) 16:27:25.14ID:sBhGF3j6
もしかして小飼に昔叩かれた人とか?
0143デフォルトの名無しさん2014/08/19(火) 16:33:02.29ID:0B3vcACg
別にdankogai本人とはかすったこともないが、なんでこいつが偉そうなこと言えるのかそれが知りたいだけ。
なんかPerlの貢献度が高かったらしいのは知ってるが。
0144デフォルトの名無しさん2014/08/19(火) 16:39:53.20ID:sBhGF3j6
まぁ、実力も実績もあるし、信者も大勢いるし、アルファブロガーだし
ゲームは作ってないけど
0145デフォルトの名無しさん2014/08/19(火) 16:58:08.56ID:lLkg1CgN
>>141 ソフトの世界で2年も前の話なんてカビが生えてるよ
Swiftが出たのは6月だぞ

Qiitaも見たこと無いでコードの話をするなんて変なの 最も纏まったコードは無いけど
リンクも何もQiita Swift dankogai で検索すれば沢山出てくるから自分で見ろよ
0146デフォルトの名無しさん2014/08/19(火) 19:08:01.93ID:b1cKAETJ
>>145
場合によりけり。こと言語関連に限っては2年はそう昔の話ではないだろう
単に流行だけを追いかけてるだけなら 2年も前の話なんてカビが生えて かもしれないがな
0147デフォルトの名無しさん2014/08/19(火) 19:09:17.26ID:TLaA01XG
※ここはSwiftスレです
0148デフォルトの名無しさん2014/08/19(火) 20:08:11.95ID:V8/7iNdr
これ以上品質ネタで引っ張るなら
Patch pleaseでいいんじゃね。
swiftスレらしくswiftのコードに粘着してくれ。
0149デフォルトの名無しさん2014/08/19(火) 21:19:55.30ID:c6AsXCDx
>>146 小飼自体が404にはほとんど書き込まず技術的な事は最近はQiitaだろ
6月以降だけを見ても404の方は数本、Qiitaの方はSwiftだけでも沢山書き込んでる
404は四方山話、コードならQiita
そんな404の古い四方山話を持ち出しても意味無いだろ Perlがもはや坂を転げ落ちてることは本人が良く知ってるだろう

SwiftでJSONとか参考になったよ
コードに文句つけるならSwiftのコードについて意見しろよ
0150デフォルトの名無しさん2014/08/19(火) 21:49:44.49ID:aN7BQ+Qx
じゃあコードにケチつけようか
http://qiita.com/dankogai/items/2d19b8352183cca3461f
var st = stat() // *1
let err = path.withCString { // *2
lstat($0, &st) // *3
}

わざわざ withCString 使うことない
C の const char* には String そのまま渡せる
var st = stat()
let err = lstat(path, &st)
0151デフォルトの名無しさん2014/08/19(火) 21:56:15.35ID:FQGd2orm
ここまでのまとめ

小飼弾ばっかり注目されて悔しいニダ
実名で有益なことやってる奴見ると腹立つニダ
0152デフォルトの名無しさん2014/08/19(火) 22:09:32.82ID:b1cKAETJ
白黒012値で判断するのはかなわんなw簡単だからアレな人にはそれしかなんだろうけどw
0153デフォルトの名無しさん2014/08/19(火) 22:20:56.13ID:dii/unFm
beta 6 が出たらしいから、swift本体にケチつけようぜ
また色々言語仕様変更したらしいじゃねーか
0154デフォルトの名無しさん2014/08/19(火) 22:25:06.20ID:RLzZhY/k
>>153
今回はあんま変更ないじゃん。細かい改良がメインだし
Xcodeでリンクが上手く行かないって問題がなんぼか出ているようだが
0155デフォルトの名無しさん2014/08/19(火) 22:32:15.29ID:Laa9BX+V
>>150
いや、話の趣旨が、C言語の素のデータ型とSwiftとの連携の話なんで
そこは、withCStringでいいでしょ
その後の、withUnsafePointer にも繋がってくわけだし
0156デフォルトの名無しさん2014/08/19(火) 23:43:35.67ID:I0aXY+SD
いくらなんでも嫉妬に狂いすぎだ
0157デフォルトの名無しさん2014/08/20(水) 00:56:55.99ID:9QzdPeJo
粘着も信者もキモ過ぎ
0158デフォルトの名無しさん2014/08/20(水) 00:59:22.66ID:+uPYMsWL
>>150 その下の可変長バッファ、、、
の *3 の下の
while fgets(&linebuf, Int32(linebufsize-1), fp) {

ここでエラーが出るようになったけど何が変わったんだっけ?
0159デフォルトの名無しさん2014/08/20(水) 08:51:55.37ID:Nj3MsvBs
エラーメッセージ読めばわかるだろうに
0160デフォルトの名無しさん2014/08/20(水) 10:09:10.39ID:+uPYMsWL
>>159 ごめん、わかった
type 'UnsafeMutablePointer<Int8>' does not conform to protocol 'BooleanType'
fgetsのreturnが  char * でBooleanじゃないよと言ってるんだね
0161デフォルトの名無しさん2014/08/20(水) 10:27:10.15ID:xEVixHuY
>>149
> SwiftでJSONとか参考になったよ
え、あのコードで参考になっちゃうんだ
0162デフォルトの名無しさん2014/08/20(水) 10:40:51.47ID:3XEuOnAA
>>161
なるよ
0163デフォルトの名無しさん2014/08/20(水) 10:51:38.06ID:+uPYMsWL
>>161 これだよ
Swiftで面倒なJSONの取り扱いをさらに10倍便利にするclass JSON
http://qiita.com/dankogai/items/e3d9882f4d25bc44cc03
0164デフォルトの名無しさん2014/08/20(水) 11:27:17.95ID:Nj3MsvBs
これは参考になるな
0165デフォルトの名無しさん2014/08/20(水) 12:32:27.86ID:+uPYMsWL
>>158 beta5での変更にあったね
“Optionals no longer implicitly evaluate to true when they have a value and false when they do not, to avoid confusion when working with optional Bool values.
Instead, make an explicit check against nil with the == or != operators to find out if an optional contains a value.”
0166デフォルトの名無しさん2014/08/20(水) 12:47:51.13ID:IR8yJSUh
>>165
関係無い
fgets の戻り値は UnsafeMutablePointer<Int8>
UnsafeMutablePointer が BooleanType じゃなくなったのは Beta 6 から
0167デフォルトの名無しさん2014/08/20(水) 12:52:10.49ID:IR8yJSUh
あ、違った
Beta 6 から BooleanType じゃなくなったのは AutoreleasingUnsafeMutablePointer の方だった
UnsafeMutablePointer は Beta 4 までは UnsafePointer で LogicValue プロトコルを実装してたが、
Beta 5 で UnsafeMutablePointer に名前が変更されると同時に BooleanType (Beta 4 以前での LogicValue) じゃなくなった
0168デフォルトの名無しさん2014/08/23(土) 17:17:29.30ID:nymJgeS4
過疎ってるな
Swiftもオワコンか
0169デフォルトの名無しさん2014/08/23(土) 17:37:04.91ID:aRrEsiH9
GMが出るまではこんなものだろ
今は使ってる層と使っていない層とがはっきり別れている時期

使ってる層は練習で忙しいしβをわきまえてる
使っていない層は話題に乏しい

正式リリースになれば本も出るしスクールもあちこちで開講されるだろうから賑やかになるだろう
0170デフォルトの名無しさん2014/08/23(土) 17:39:31.87ID:IHW9XXMf
いや、オワコンだろ
Objective-Cでいいんだもん

Windows8出たばっかでWindows9とかいってるMSみたく
いらんもん出すのが流行ってんのか?
■ このスレッドは過去ログ倉庫に格納されています