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

Swift part8 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (アウアウ Saaf-caug)2016/05/13(金) 23:30:06.87ID:MRCJQvHca
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

関連スレ

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

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

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

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

前スレ
Swift part7
http://echo.2ch.net/test/read.cgi/tech/1458491528/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0002デフォルトの名無しさん (ワッチョイ 575b-xbWL)2016/05/14(土) 00:37:32.29ID:krJ+c2Ja0
>>1
乙
0003デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)2016/05/14(土) 02:55:22.49ID:GxUqhDLJp
ツラっとワッチョイ入れてんな
まぁいいけど

おつ
0004デフォルトの名無しさん (ササクッテロ Sp2f-a45h)2016/05/14(土) 07:52:48.89ID:nrdeB4h9p
>>1
おっつー
0005デフォルトの名無しさん (ワッチョイ 237b-k05Y)2016/05/14(土) 09:53:12.28ID:d9qQJlpp0
アンチスレpart1から進んでないじゃないか
もっとアンチ頑張れよ。
0006デフォルトの名無しさん (アウアウ Saff-k05Y)2016/05/14(土) 10:26:33.58ID:+RC1y14qa
まぁ、叩くとこほとんどない言語だからな
0007デフォルトの名無しさん (ワッチョイ 033c-Wsqh)2016/05/14(土) 15:53:33.39ID:17u/9PWU0
コードをObjective-CからSwiftに変えることで80%のステップ数削減に成功し、
Swiftバージョン追従のために、20%のステップのコードを毎回書き直した

一方、世界はAndroidに乗り換えた
0008デフォルトの名無しさん (ワッチョイ 237b-k05Y)2016/05/14(土) 16:34:46.02ID:d9qQJlpp0
確かにiOSとかAndroidとかの差は一般人にはほとんどわからなくなったよな。
両方をちゃんと比較すればそりゃ違うけど。LineとかFacebookを使うだけの
一般人には同じだよね。(ブランドが違うだけ)

次くるとしたら音声認識インターフェースかね。
siriからアプリが制御できるようになれば結構iOS優位に再び立てそうな気がするんだけど、amazonが実は先行してたりして。
開発側にとっても画面デザインを気にしなくても作れるようになるし
有難そう。appleWatchも使えるようになるし。
スレ違いすまそ
0009デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)2016/05/14(土) 22:10:58.07ID:vzw8qrC9p
スレ違いに付き合うとAndroid Wearが音声入力サポートしてるからWWDCで watch OS の新機能で発表するんじゃね
AmazonもEcho出してるし、Appleはいつも通り後手後手

Swift使えば音声入力で watchOS, iOS, tvOS, Mac OSがこのように連携します(ドヤァを祈ろうか
0010デフォルトの名無しさん (アウアウ Saff-1veL)2016/05/15(日) 16:54:38.62ID:mmUqK5Raa
Swiftはnullを超えた負債になる
C#がベスト
0011デフォルトの名無しさん (アウアウ Saff-k05Y)2016/05/15(日) 16:56:39.53ID:Sb7UYY6Ka
C#は.netありきだからなぁ
0012デフォルトの名無しさん (ササクッテロ Sp2f-1veL)2016/05/15(日) 17:55:33.20ID:lZb2kboCp
Swiftはありえん
0013デフォルトの名無しさん (アウアウ Saff-k05Y)2016/05/15(日) 17:59:33.66ID:Sb7UYY6Ka
>>12
なぜこのスレをヲチしてるの?
0014デフォルトの名無しさん (ワッチョイ 237b-k05Y)2016/05/15(日) 20:10:23.41ID:jf4/vLKx0
>>11
Xamarinはどうなんだろ。iOSとAndroid開発環境見てると
iOSはUIkitとかでUIライブラリは充実してるけど、
Androidの方がよりフレームワークよりな感じがする。
R.XXでリソースIDを補完できたりとか
Loaderの機能でリアクティブな環境を最初から作れる感じ。

Xamarinはどっちに寄せてんだろ。
0015デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)2016/05/15(日) 20:12:06.23ID:cejQYZiFp
Xamarinスレいけ、クズ
いつまでステマ続ければ気が済むんだい?
0016デフォルトの名無しさん (ワッチョイ 27c9-19i7)2016/05/16(月) 07:58:54.17ID:ugQT3y5U0
Xamarin厨はお黙りん

なんつって
0017デフォルトの名無しさん (ワッチョイ 237b-k05Y)2016/05/16(月) 10:04:40.03ID:n2wuXq4U0
swiftで書かれてるオープンソースなプロダクトってなんか無いかな?
UIKitの使い方とかswiftの使い方知っても
プロジェクトとして綺麗な書き方ってのがなかなか身につかなくて悩んでるんすよ。
なんかないすか?
0018デフォルトの名無しさん (ワッチョイ 033c-caug)2016/05/16(月) 10:21:55.84ID:DCK0MW+Q0
>>17
Nukeとかどう?
0019デフォルトの名無しさん (ササクッテロ Sp2f-k05Y)2016/05/16(月) 10:38:02.16ID:anWwAKnOp
Githubにいっぱいあるじゃねーか
0020デフォルトの名無しさん (ササクッテロ Sp2f-a45h)2016/05/16(月) 12:32:24.23ID:lJ+uPDHMp
githubはピンキリで探しづらい
俺もswiftでお手本になるような電卓とかのシンプルなコードが見たい
0021デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)2016/05/16(月) 12:40:38.21ID:w87CPozzp
Health Kitが swift で出来てたろ
メンテされてるか知らんけど
0022デフォルトの名無しさん (ワッチョイ 237b-k05Y)2016/05/16(月) 16:10:37.99ID:n2wuXq4U0
>>18
ライブラリじゃなくてアプリでないですかね?
0023デフォルトの名無しさん (アウアウ Sa0f-/3cR)2016/05/17(火) 01:39:27.68ID:IyVxLjVMa
SwiftがAndroidで使えるようになってくれたら本格的に手を出すんだが、未だにGoogleが煮えきらないんだよなぁ。

Java捨てろって
0024デフォルトの名無しさん (ワッチョイ 27c9-a45h)2016/05/17(火) 05:10:23.16ID:OsNARz9r0
せっかくJava捨ててまた自社でコントロールできないSwift採用するとは思えない
0025デフォルトの名無しさん (アウアウ Saff-1veL)2016/05/17(火) 07:22:49.02ID:j4ELMKexa
Swiftはキモイ
0026デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)2016/05/17(火) 09:08:07.33ID:hwDKvji2p
煮えないどころか火もついてないレベル
Googleが採用検討してるってのは、GoMobile対抗言語として一応リストアップしたって程度だろうよ

なお、Androidクロスコンパイルが出来るようになら今ならSwiftで Android appは作れる
NDKだけでActivityも構成出来るし、何の問題もないよなぁ、>>23にやる気があるかどうかは問題だけど
0027デフォルトの名無しさん (アウアウ Saff-k05Y)2016/05/17(火) 09:28:42.53ID:eEWe9yj8a
UI周りの扱いやAPIが違いすぎるので言語統一された所でさほどメリットは感じないわな
0028デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)2016/05/17(火) 09:56:58.87ID:hwDKvji2p
UIだけでなく、デバイス毎のセンサーやアプリのライフサイクルも違うしな
それらを一式Googleが整備した素晴らしい環境作れってことだろうけど
そんな夢見た環境出来るわけねー
0029デフォルトの名無しさん (JP 0H6f-mfIb)2016/05/17(火) 10:01:02.39ID:eRIY89eqH
最後に選ばれたのは Gwift でした
0030デフォルトの名無しさん (ワッチョイ 2310-0YMq)2016/05/17(火) 12:33:45.86ID:wEuCBgts0
>>28
ほんとこれ
言語だけ統一されたところで使うライブラリが全然別物なら、いくら言語が勉強済みでもアプリは書けるようにならないんだけど
言語統一されないから勉強しないとか言ってる奴は、結局ワナビーで勉強しない理由を探してるに過ぎないんだよな。
Xamarin厨じゃないけど、そんなに覚える言語少なくしたいならとりあえずC#でも覚えればいいのに
0031デフォルトの名無しさん (ササクッテロ Sp2f-k05Y)2016/05/17(火) 13:12:56.26ID:34EG0vDZp
AppleがiOSやめてAndroid採用すれば万事解決
0032デフォルトの名無しさん (ワッチョイ 27c9-19i7)2016/05/18(水) 07:38:50.02ID:Jpvfs3470
Winding down the Swift 3 release
http://article.gmane.org/gmane.comp.lang.swift.evolution/17276
0033デフォルトの名無しさん (アウアウ Saff-k05Y)2016/05/18(水) 09:19:44.81ID:I7AW6RFGa
Swift3ではSwift4との互換性に留意したみたいだな
0034デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)2016/05/18(水) 09:50:56.18ID:dgo88qX6p
しなくていいのに
大改造しないで何が swift か
0035デフォルトの名無しさん (ワッチョイ d0c9-7Gsa)2016/05/20(金) 15:06:30.37ID:gmi+glK70
ワッチョイついたからか随分静かになったなw
0036デフォルトの名無しさん (ササクッテロ Spbd-MTTD)2016/05/20(金) 18:57:48.31ID:ozfjp8cfp
ドン引きする静かさだけどな
Xamarinステマくらいは残るかと思ったら、ステマすら居なくなってしまった

WindowsやAndroidへのポーティングという愉快痛快な喜劇とか突っ込み所は普通にあるというのに
0037デフォルトの名無しさん (ワッチョイ 653c-DUbb)2016/05/20(金) 22:35:44.42ID:Qmlou+Oi0
誰も書かないと思ったら、ワッチョイか。ワッチョイで何か困ることでもあんのか?
0038デフォルトの名無しさん (ワッチョイ 653c-DUbb)2016/05/20(金) 23:08:02.88ID:vN8wcMgd0
超基本的なことなんだけど
書いたプログラムって別スレ処理しない限りは絶対に上の行から順に実行されるんだよな?
if でネストしてガチガチに縛ってる時はこんな不安感じなかったけどguard 使うようになってからすっごい不安
0039デフォルトの名無しさん (アウアウ Sab5-FWE5)2016/05/20(金) 23:25:53.02ID:Fvy6JyEYa
順番変わるのはdeferじゃなかったか
0040デフォルトの名無しさん (ササクッテロ Spbd-DUbb)2016/05/21(土) 19:56:52.82ID:4UyGacggp
副作用に気を使わんといかんようなコーディングする奴はただテクニック披露したいだけやろと思う
0041デフォルトの名無しさん (ササクッテロ Spbd-MTTD)2016/05/22(日) 10:15:45.02ID:Is9G60Aep
副作用のない関数型に適したSwiftなら何の問題もないな
なお、関数型swiftの流行りは終わった模様
0042デフォルトの名無しさん (ワッチョイ bdf2-DUbb)2016/05/22(日) 17:02:18.67ID:04Qac8BN0
詳解Swift改訂版もう読む気しないんだが売っても大した金にならなそうだな
0043デフォルトの名無しさん (ワッチョイ bdf2-DUbb)2016/05/22(日) 17:04:23.59ID:04Qac8BN0
>>6
えっ?
0044デフォルトの名無しさん (ワッチョイ 653c-xKv1)2016/05/22(日) 17:31:42.78ID:9E8D53wK0
Swift1、2、3と3回売れる作者は笑いが止まらんだろうな〜
0045デフォルトの名無しさん (ワッチョイ 7b6f-FRyb)2016/05/22(日) 18:42:29.19ID:dFM+5p550
ゴールドラッシュで儲けるには、ツルハシ売るのが一番ね!
0046デフォルトの名無しさん (ワッチョイ 653c-DUbb)2016/05/22(日) 20:01:45.66ID:pWjqdl9o0
>>38
例外処理忘れてるぜ!
0047デフォルトの名無しさん (ワッチョイ d0c9-FjVo)2016/05/25(水) 14:36:29.98ID:ikbuqBHn0
swift-evolが完全に自転車置き場の議論の場になっとる件
0048デフォルトの名無しさん (ササクッテロ Spbd-MTTD)2016/05/25(水) 17:13:16.19ID:ptFpiU36p
追ってないから3行で頼む
0049デフォルトの名無しさん (ワッチョイ b37b-8nLm)2016/05/26(木) 14:27:53.14ID:Uz9XmlMN0
Realm 1.0来たね。
https://realm.io/jp/news/realm-1.0/
0050デフォルトの名無しさん (アウアウ Saff-8nLm)2016/05/26(木) 14:42:11.67ID:Y4QJzltGa
iOSオンリーな俺はCoreDataで十分
0051デフォルトの名無しさん (ワッチョイ b37b-8nLm)2016/05/26(木) 15:04:09.71ID:Uz9XmlMN0
>>50
coreData慣れてればいいけど、今から触るくらいだったらRealmかな。
0052デフォルトの名無しさん (アウアウ Saff-8nLm)2016/05/26(木) 15:10:42.02ID:Y4QJzltGa
>>51
なんで?
0053デフォルトの名無しさん (ササクッテロ Sp7f-khAS)2016/05/26(木) 15:34:43.77ID:N5pCo2ZOp
流行りだからじゃない?
swiftまでなら遊べるけどrealm含めて遊ぶ気にはならないから見送りー
0054デフォルトの名無しさん (アウアウ Saff-8nLm)2016/05/26(木) 15:51:14.55ID:Y4QJzltGa
あぁ、意識高い系の人か
0055デフォルトの名無しさん (ワッチョイ b37b-8nLm)2016/05/26(木) 16:45:54.29ID:Uz9XmlMN0
>>52
CoreDataって冗長なコードが多いしあまり直感的に使えない。
MagicalRecordでラップして使うという手もあるだろうけど、
そこまでするくらいならRealmの方がコード量も少なく済むし
アクセスも高速だし、直感的なコードだし という理由。
0056デフォルトの名無しさん (ワッチョイ e318-SNRC)2016/05/26(木) 20:04:06.71ID:NreTHedY0
今日swift勉強しようとswift2の入門書買っちゃったんだけど捨てて買い直すべきなの?
0057デフォルトの名無しさん (ワッチョイ 7b3c-Iguy)2016/05/26(木) 20:09:50.17ID:HNHWlvNI0
>>56
いいえ
0058デフォルトの名無しさん (オイコラミネオ MMff-Iguy)2016/05/26(木) 20:42:41.19ID:2qm/1yJ6M
9割は変わらんからその本で勉強は可能
0059デフォルトの名無しさん (ワッチョイ e318-SNRC)2016/05/26(木) 21:46:59.55ID:NreTHedY0
>>57>>58
ありがとう
勉強頑張るわ
0060デフォルトの名無しさん (ワッチョイ 07c9-Kzgd)2016/05/27(金) 11:48:10.98ID:UB68Nja80
もっと変わるだろ
本質的なところではそんなに変わらないけど字面はかなり変わる
0061デフォルトの名無しさん (ワッチョイ 133c-SNRC)2016/05/27(金) 21:27:17.95ID:7jUk8cRg0
無駄なリファクタリングで名前の大半変わるからなぁ
Xcodeにはやくリファクタリングツール付けてくれないかな
0062デフォルトの名無しさん (ワッチョイ ef93-SNRC)2016/05/29(日) 18:00:00.42ID:+QQL0piv0
Void inってコード補完だとない時あるけど、書かなくていいの?

自分でメソッド作る時も
0063デフォルトの名無しさん (ワッチョイ d742-SNRC)2016/05/30(月) 23:58:23.49ID:KJkS+pjw0
オプショナルな値をチェックするのにif letのネストが酷いことになってるんだが何か良い書き方とか
ベストプラクティスある?
0064デフォルトの名無しさん (ワッチョイ 133c-kHkB)2016/05/31(火) 00:05:48.21ID:LpgiaEue0
guard let value = optional, value2 = optional2 else {
return
}

print("\(value)_\(value2)")
0065デフォルトの名無しさん (ワッチョイ d742-SNRC)2016/05/31(火) 01:46:33.05ID:RCb3Xr940
>>64
おおこんな書き方が!
0066デフォルトの名無しさん (オイコラミネオ MMff-SNRC)2016/05/31(火) 18:28:56.57ID:DJZE5i1qM
なんたらMake関数はObjective-Cの名残?
Make無しの方使っとけばいい?
0067デフォルトの名無しさん (ワッチョイ e3c9-Wqch)2016/05/31(火) 18:40:40.10ID:yIUZknFd0
Make使ったらまけ
0068デフォルトの名無しさん (ワッチョイ 07c9-HpYT)2016/05/31(火) 18:46:10.05ID:s2aN7j8c0
C構造体のmake系は3.0で消えるから今のうちからinit使っとけよ
0069デフォルトの名無しさん (ワッチョイ d742-SNRC)2016/05/31(火) 18:57:14.56ID:RCb3Xr940
hogeMethod(a, b:b)みたいに呼び出すときb:bって書くの面倒なんだけど
hogeMethod(a, :b)みたいに省略できないのかな
0070デフォルトの名無しさん (ワッチョイ 7b3c-Iguy)2016/05/31(火) 18:57:35.16ID:Uyu8CUZY0
ドデカク使おう
WAKEだよ!

すげー!
0071デフォルトの名無しさん (ワッチョイ 9b17-SNRC)2016/05/31(火) 22:58:07.14ID:43sFGgYH0
>>69
自分で定義するメソッドなら順番を固定してラベルを省略する方法がなかったっけ?なかったらごめん
0072デフォルトの名無しさん (ワッチョイ 133c-kHkB)2016/05/31(火) 23:11:48.01ID:LpgiaEue0
外部変数名を_にすればできるよ
同じ型でオーバーロードできなくなるけど
0073デフォルトの名無しさん (ワッチョイ 07c9-HpYT)2016/06/01(水) 01:11:37.07ID:omPFj0uv0
:b って書いてるから呼び出し側にシュガー欲しいってことだろ
確かに変数名を真面目につければつけるほど引数ラベル名と被るジレンマよくある
0074デフォルトの名無しさん (ワッチョイ 133c-HpYT)2016/06/01(水) 17:56:16.68ID:bUMaKpp30
↓のコードで、parentのvalのdidSetがよばれない。別のプロパティであればdidSetがよばれてますが、同一クラスの同一プロパティだと何か制限があるんでしょうか?メソッド経由でプロパティ変更した場合はよばれるんだけど一々不便。

class Node: NSObject {
let name: String
weak var parent: Node? = nil
var val: Double = Double.NaN {
didSet {
print("name = ¥(self.name), old = ¥(oldValue), new = ¥(self.val)")
self.parent?.val = self.val
}
}
init(name: String, parent: Node? = nil) {
self.name = name
self.parent = parent
super.init()
}
}

let node1: Node = Node(name: "1")
let node2: Node = Node(name: "2", parent: node1)
let node3: Node = Node(name: "3", parent: node2)
node3.val = 3
0075デフォルトの名無しさん (ササクッテロ Sp7f-HpYT)2016/06/01(水) 20:49:08.95ID:v7iaUTTnp
無限ループを避けるための措置かもね
それか単にバグなのか
didSetをこんな実装にすれば一応親を辿ってくけど

didSet {
var n: Node! = self
while n.parent != nil {
n.parent!.val = self.val
n = n.parent
}
}
0076デフォルトの名無しさん (ワッチョイ 213c-2WQj)2016/06/02(木) 10:25:23.44ID:9+Vh9Y6K0
>>75
例がイマイチだったのでわかりづらかったのかもですが、parent.valでもdidSetを発火したかったのですよ。
func setVal(newVal: Double) { self.val = newVal } みたいなん用意して、self.parent?.setVal(self.val)てきなことやれば回避はできるんですが、無駄なコードが増えて気持ち悪い・・・
0077デフォルトの名無しさん (オイコラミネオ MMb4-4qA/)2016/06/02(木) 17:42:03.42ID:qFtmyDSFM
オプショナルバインディングするとnilチェックでいいよみたいな警告出てくるけど
厳密に言うとどうなの?
Xcodeに従っとけばいい?
0078デフォルトの名無しさん (オイコラミネオ MMb4-4qA/)2016/06/02(木) 17:49:36.51ID:qFtmyDSFM
オプショナルを代入した変数を使用しなければ同じってことかな?
0079デフォルトの名無しさん (ワッチョイ 213c-2WQj)2016/06/02(木) 19:48:20.11ID:9+Vh9Y6K0
>>77->>78
例をコードで示してくれるか、警告内容書いてくれないと…
さすがに仕事以外でエスパーするの辛い。
0080デフォルトの名無しさん (ワッチョイ 213c-qC5Z)2016/06/02(木) 20:31:32.74ID:O50w6Y0Q0
>>77
使わないのに無駄に関数内で定数設定してるから注意されてるんだよ
あとvarで変数宣言したのに変化させなかったらletで宣言しろって言われる
メモリの無駄遣い防止機能かな

でも宣言した瞬間に邪魔なところに注意文出るからイラッとくる
文字色反転くらいでいい
0081デフォルトの名無しさん (ワッチョイ 9e93-4qA/)2016/06/02(木) 21:01:20.97ID:xqPUilla0
https://github.com/ShingoFukuyama/3DTouchDetectStateOfPeekPopCancel/blob/master/PreviewState/ViewController.swift

これの65行目です。

今Peek and Popを調査中でしてf^_^;
0082デフォルトの名無しさん (ワッチョイ 213c-qC5Z)2016/06/02(木) 21:32:05.41ID:O50w6Y0Q0
>>81
何これ?意味わかんない
if let object = object {} の時点でおかしいでしょ。
if let _object = object とか名前変えないと、、
しかもやるなら最初の行に
guard object != nil else {
return
}
もしくは
if object == nil {
return
}
これでいい。最初のif分にしかobject出てきてないのにアンラップする必要すらないよ。
というかこいつのは参考にしない方がいい。
0083デフォルトの名無しさん (アウアウ Sa76-2WQj)2016/06/02(木) 21:40:53.13ID:tHwJhWU8a
いや別に名前は同じでいいだろ
objectという引数をobjectというローカル変数へアンラップしてるってことだし
まぁ、可読性という意味ではあれだが
objectは下の方でちゃんと使われてるだろ
まぁ、頑張れ、ふくやましんご君
0084デフォルトの名無しさん (ワッチョイ 9e93-4qA/)2016/06/02(木) 21:59:29.18ID:xqPUilla0
object使われてましたねf^_^;
見落としでしたが、時々オプショナルバインディングで警告が出るので質問しました。
返答していただきありがとうございました
あとふくやましんごさんは赤の他人ですので
0085デフォルトの名無しさん (ワッチョイ 213c-qC5Z)2016/06/02(木) 22:16:03.42ID:O50w6Y0Q0
ああ本当だ!後で使われてるね。じゃあもしguardで書くなら
guard let _object = object else {
return
}
こっちだわ。
ちなみにこの_objectも後ろで
_object.removeObserver(self, forKeyPath: "state")
書くまで注意される。理由は>>80

てか本人だったんか、、何かごめんな。
0086デフォルトの名無しさん (ワッチョイ 213c-qC5Z)2016/06/02(木) 22:17:39.98ID:O50w6Y0Q0
>>84
やっぱり他人やったんかい!
0087デフォルトの名無しさん (ワッチョイ 213c-ChPp)2016/06/02(木) 23:14:42.95ID:dR7AiF6z0
おいおいここにはSwift初心者しかいないのか?

case .Ended, .Failed, .Cancelled where object != nil :
self.navigationItem.title = "Not committed"
object.removeObserver(self, forKeyPath: "state")

これでええやろ、guardすら必要ない
0088デフォルトの名無しさん (アウアウ Sa76-2WQj)2016/06/03(金) 00:23:22.47ID:VvE0bkkHa
厳密に条件を揃えるならその上のcase文にも必要になるけどな
0089デフォルトの名無しさん (ササクッテロ Sp89-ud2d)2016/06/03(金) 01:04:51.42ID:TXwUryARp
>>87
swift玄人様チーッス

betaから使っててもバズワードな言語仕様変更についてく気にならんよなぁ
guardの方がスマートに見える、流行りの書き方よりコードの一貫性を優先したい
0090デフォルトの名無しさん (ワッチョイ 213c-ChPp)2016/06/03(金) 01:07:30.72ID:9r6PyDlh0
トーシロだな
明示的にremoveObserverを呼ぶ必要があるケースを考えろ
0091デフォルトの名無しさん (ササクッテロ Sp89-ud2d)2016/06/03(金) 07:22:16.18ID:XjG17jmwp
元のコードみてないけど、これは必要なケースなの?
んで、guardじゃできないなら、 guardすら要らん、じゃなくそのコードはバグって指摘じゃないの?

変にむきになるとテクニックを披露したいだけの意識高い系の玄人様っぽいぞ
0092デフォルトの名無しさん (ワッチョイ 213c-2WQj)2016/06/03(金) 09:57:28.19ID:UqDa+ER+0
observeValueForKeyPathで、ofObject object: AnyObject?がnilになるケースって存在すんの?
ObjCのクラスを自動的にラッパーして直してないから、ポインタがオプショナルになってるだけでしょ?と思ってる。

自分なら、このケースの場合、if let object は外して↓だけで済ます。
object?.removeObserver(self, forKeyPath: "state")

>>82
外人とかのコード見てもアンラップするだけで、変数名変えるのはあんまり見かけないな。
0093デフォルトの名無しさん (ササクッテロ Sp89-4qA/)2016/06/03(金) 18:27:35.42ID:iR+TeNRGp
>>92
お前がSwiftプロだ
0094デフォルトの名無しさん (ササクッテロ Sp89-D6vv)2016/06/04(土) 15:34:17.98ID:cE2uZEbNp
namespace prefixが不要なのはいいけど、on Linuxでどうすりゃいいのっと思ったらSwift 3で正規投入されるPackage Managerが管理するのな
2.xでも一応機構はあるっぽいけど便利コマンドが追加されるだけで構成は同じだといいなぁ
誰かXcodeを使わないSwift開発のノウハウ持っててPackage管理してる人がいたら、互換性(見込み)について教えてくれぃ
0095デフォルトの名無しさん (ササクッテロ Sp89-D6vv)2016/06/04(土) 20:10:44.84ID:ets/dnaap
スマン、嘘言った気がする
2.xにon Linuxでも扱えるnamespaceはないかもしれん
誰かエロい人教えて、、、
0096デフォルトの名無しさん (オイコラミネオ MMb4-4qA/)2016/06/08(水) 17:06:31.54ID:QDb2Bi8hM
配列をindexを3の倍数を除いて処理したいです。

for item in array {
// 処理
}

このスタイルで書きたいのですが、いい案ありますでしょうか?
0097デフォルトの名無しさん (アウアウ Sa76-rI5i)2016/06/08(水) 17:12:21.98ID:FiJoHGXCa
世界のナベアツ来てんね
0098デフォルトの名無しさん (ブーイモ MMb8-ud2d)2016/06/08(水) 17:43:25.79ID:IzbVLKR1M
>>96
enumerateを使う。
filter使うべきって人もいるかもしれない。
0099デフォルトの名無しさん (オイコラミネオ MMb4-4qA/)2016/06/08(水) 17:46:06.21ID:QDb2Bi8hM
>>98
ありがとうございます。
考えてみます!

世界のナベアツだったら3の倍数で処理するだろw
0100デフォルトの名無しさん (ワッチョイ 213c-1mS6)2016/06/08(水) 18:51:27.84ID:HG8HbZIy0
for (index, item) in array.enumerate() where index / 3 > 0 {
かな?
0101デフォルトの名無しさん (オイコラミネオ MMb4-4qA/)2016/06/08(水) 18:52:30.23ID:QDb2Bi8hM
綺麗ですね!
参考になります
■ このスレッドは過去ログ倉庫に格納されています