Swift part8 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (アウアウ Saaf-caug)
2016/05/13(金) 23:30:06.87ID:MRCJQvHca関連スレ
プログラミング言語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乙
0003デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)
2016/05/14(土) 02:55:22.49ID:GxUqhDLJpまぁいいけど
おつ
0004デフォルトの名無しさん (ササクッテロ Sp2f-a45h)
2016/05/14(土) 07:52:48.89ID:nrdeB4h9pおっつー
0005デフォルトの名無しさん (ワッチョイ 237b-k05Y)
2016/05/14(土) 09:53:12.28ID:d9qQJlpp0もっとアンチ頑張れよ。
0006デフォルトの名無しさん (アウアウ Saff-k05Y)
2016/05/14(土) 10:26:33.58ID:+RC1y14qa0007デフォルトの名無しさん (ワッチョイ 033c-Wsqh)
2016/05/14(土) 15:53:33.39ID:17u/9PWU0Swiftバージョン追従のために、20%のステップのコードを毎回書き直した
一方、世界はAndroidに乗り換えた
0008デフォルトの名無しさん (ワッチョイ 237b-k05Y)
2016/05/14(土) 16:34:46.02ID:d9qQJlpp0両方をちゃんと比較すればそりゃ違うけど。LineとかFacebookを使うだけの
一般人には同じだよね。(ブランドが違うだけ)
次くるとしたら音声認識インターフェースかね。
siriからアプリが制御できるようになれば結構iOS優位に再び立てそうな気がするんだけど、amazonが実は先行してたりして。
開発側にとっても画面デザインを気にしなくても作れるようになるし
有難そう。appleWatchも使えるようになるし。
スレ違いすまそ
0009デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)
2016/05/14(土) 22:10:58.07ID:vzw8qrC9pAmazonもEcho出してるし、Appleはいつも通り後手後手
Swift使えば音声入力で watchOS, iOS, tvOS, Mac OSがこのように連携します(ドヤァを祈ろうか
0010デフォルトの名無しさん (アウアウ Saff-1veL)
2016/05/15(日) 16:54:38.62ID:mmUqK5RaaC#がベスト
0011デフォルトの名無しさん (アウアウ Saff-k05Y)
2016/05/15(日) 16:56:39.53ID:Sb7UYY6Ka0012デフォルトの名無しさん (ササクッテロ Sp2f-1veL)
2016/05/15(日) 17:55:33.20ID:lZb2kboCp0013デフォルトの名無しさん (アウアウ Saff-k05Y)
2016/05/15(日) 17:59:33.66ID:Sb7UYY6Kaなぜこのスレをヲチしてるの?
0014デフォルトの名無しさん (ワッチョイ 237b-k05Y)
2016/05/15(日) 20:10:23.41ID:jf4/vLKx0Xamarinはどうなんだろ。iOSとAndroid開発環境見てると
iOSはUIkitとかでUIライブラリは充実してるけど、
Androidの方がよりフレームワークよりな感じがする。
R.XXでリソースIDを補完できたりとか
Loaderの機能でリアクティブな環境を最初から作れる感じ。
Xamarinはどっちに寄せてんだろ。
0015デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)
2016/05/15(日) 20:12:06.23ID:cejQYZiFpいつまでステマ続ければ気が済むんだい?
0016デフォルトの名無しさん (ワッチョイ 27c9-19i7)
2016/05/16(月) 07:58:54.17ID:ugQT3y5U0なんつって
0017デフォルトの名無しさん (ワッチョイ 237b-k05Y)
2016/05/16(月) 10:04:40.03ID:n2wuXq4U0UIKitの使い方とかswiftの使い方知っても
プロジェクトとして綺麗な書き方ってのがなかなか身につかなくて悩んでるんすよ。
なんかないすか?
0018デフォルトの名無しさん (ワッチョイ 033c-caug)
2016/05/16(月) 10:21:55.84ID:DCK0MW+Q0Nukeとかどう?
0019デフォルトの名無しさん (ササクッテロ Sp2f-k05Y)
2016/05/16(月) 10:38:02.16ID:anWwAKnOp0020デフォルトの名無しさん (ササクッテロ Sp2f-a45h)
2016/05/16(月) 12:32:24.23ID:lJ+uPDHMp俺もswiftでお手本になるような電卓とかのシンプルなコードが見たい
0021デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)
2016/05/16(月) 12:40:38.21ID:w87CPozzpメンテされてるか知らんけど
0022デフォルトの名無しさん (ワッチョイ 237b-k05Y)
2016/05/16(月) 16:10:37.99ID:n2wuXq4U0ライブラリじゃなくてアプリでないですかね?
0023デフォルトの名無しさん (アウアウ Sa0f-/3cR)
2016/05/17(火) 01:39:27.68ID:IyVxLjVMaJava捨てろって
0024デフォルトの名無しさん (ワッチョイ 27c9-a45h)
2016/05/17(火) 05:10:23.16ID:OsNARz9r00025デフォルトの名無しさん (アウアウ Saff-1veL)
2016/05/17(火) 07:22:49.02ID:j4ELMKexa0026デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)
2016/05/17(火) 09:08:07.33ID:hwDKvji2pGoogleが採用検討してるってのは、GoMobile対抗言語として一応リストアップしたって程度だろうよ
なお、Androidクロスコンパイルが出来るようになら今ならSwiftで Android appは作れる
NDKだけでActivityも構成出来るし、何の問題もないよなぁ、>>23にやる気があるかどうかは問題だけど
0027デフォルトの名無しさん (アウアウ Saff-k05Y)
2016/05/17(火) 09:28:42.53ID:eEWe9yj8a0028デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)
2016/05/17(火) 09:56:58.87ID:hwDKvji2pそれらを一式Googleが整備した素晴らしい環境作れってことだろうけど
そんな夢見た環境出来るわけねー
0029デフォルトの名無しさん (JP 0H6f-mfIb)
2016/05/17(火) 10:01:02.39ID:eRIY89eqH0030デフォルトの名無しさん (ワッチョイ 2310-0YMq)
2016/05/17(火) 12:33:45.86ID:wEuCBgts0ほんとこれ
言語だけ統一されたところで使うライブラリが全然別物なら、いくら言語が勉強済みでもアプリは書けるようにならないんだけど
言語統一されないから勉強しないとか言ってる奴は、結局ワナビーで勉強しない理由を探してるに過ぎないんだよな。
Xamarin厨じゃないけど、そんなに覚える言語少なくしたいならとりあえずC#でも覚えればいいのに
0031デフォルトの名無しさん (ササクッテロ Sp2f-k05Y)
2016/05/17(火) 13:12:56.26ID:34EG0vDZp0032デフォルトの名無しさん (ワッチョイ 27c9-19i7)
2016/05/18(水) 07:38:50.02ID:Jpvfs3470http://article.gmane.org/gmane.comp.lang.swift.evolution/17276
0033デフォルトの名無しさん (アウアウ Saff-k05Y)
2016/05/18(水) 09:19:44.81ID:I7AW6RFGa0034デフォルトの名無しさん (ササクッテロ Sp2f-/3cR)
2016/05/18(水) 09:50:56.18ID:dgo88qX6p大改造しないで何が swift か
0035デフォルトの名無しさん (ワッチョイ d0c9-7Gsa)
2016/05/20(金) 15:06:30.37ID:gmi+glK700036デフォルトの名無しさん (ササクッテロ Spbd-MTTD)
2016/05/20(金) 18:57:48.31ID:ozfjp8cfpXamarinステマくらいは残るかと思ったら、ステマすら居なくなってしまった
WindowsやAndroidへのポーティングという愉快痛快な喜劇とか突っ込み所は普通にあるというのに
0037デフォルトの名無しさん (ワッチョイ 653c-DUbb)
2016/05/20(金) 22:35:44.42ID:Qmlou+Oi00038デフォルトの名無しさん (ワッチョイ 653c-DUbb)
2016/05/20(金) 23:08:02.88ID:vN8wcMgd0書いたプログラムって別スレ処理しない限りは絶対に上の行から順に実行されるんだよな?
if でネストしてガチガチに縛ってる時はこんな不安感じなかったけどguard 使うようになってからすっごい不安
0039デフォルトの名無しさん (アウアウ Sab5-FWE5)
2016/05/20(金) 23:25:53.02ID:Fvy6JyEYa0040デフォルトの名無しさん (ササクッテロ Spbd-DUbb)
2016/05/21(土) 19:56:52.82ID:4UyGacggp0041デフォルトの名無しさん (ササクッテロ Spbd-MTTD)
2016/05/22(日) 10:15:45.02ID:Is9G60Aepなお、関数型swiftの流行りは終わった模様
0042デフォルトの名無しさん (ワッチョイ bdf2-DUbb)
2016/05/22(日) 17:02:18.67ID:04Qac8BN00043デフォルトの名無しさん (ワッチョイ bdf2-DUbb)
2016/05/22(日) 17:04:23.59ID:04Qac8BN0えっ?
0044デフォルトの名無しさん (ワッチョイ 653c-xKv1)
2016/05/22(日) 17:31:42.78ID:9E8D53wK00045デフォルトの名無しさん (ワッチョイ 7b6f-FRyb)
2016/05/22(日) 18:42:29.19ID:dFM+5p5500046デフォルトの名無しさん (ワッチョイ 653c-DUbb)
2016/05/22(日) 20:01:45.66ID:pWjqdl9o0例外処理忘れてるぜ!
0047デフォルトの名無しさん (ワッチョイ d0c9-FjVo)
2016/05/25(水) 14:36:29.98ID:ikbuqBHn00048デフォルトの名無しさん (ササクッテロ Spbd-MTTD)
2016/05/25(水) 17:13:16.19ID:ptFpiU36p0049デフォルトの名無しさん (ワッチョイ b37b-8nLm)
2016/05/26(木) 14:27:53.14ID:Uz9XmlMN0https://realm.io/jp/news/realm-1.0/
0050デフォルトの名無しさん (アウアウ Saff-8nLm)
2016/05/26(木) 14:42:11.67ID:Y4QJzltGa0051デフォルトの名無しさん (ワッチョイ b37b-8nLm)
2016/05/26(木) 15:04:09.71ID:Uz9XmlMN0coreData慣れてればいいけど、今から触るくらいだったらRealmかな。
0052デフォルトの名無しさん (アウアウ Saff-8nLm)
2016/05/26(木) 15:10:42.02ID:Y4QJzltGaなんで?
0053デフォルトの名無しさん (ササクッテロ Sp7f-khAS)
2016/05/26(木) 15:34:43.77ID:N5pCo2ZOpswiftまでなら遊べるけどrealm含めて遊ぶ気にはならないから見送りー
0054デフォルトの名無しさん (アウアウ Saff-8nLm)
2016/05/26(木) 15:51:14.55ID:Y4QJzltGa0055デフォルトの名無しさん (ワッチョイ b37b-8nLm)
2016/05/26(木) 16:45:54.29ID:Uz9XmlMN0CoreDataって冗長なコードが多いしあまり直感的に使えない。
MagicalRecordでラップして使うという手もあるだろうけど、
そこまでするくらいならRealmの方がコード量も少なく済むし
アクセスも高速だし、直感的なコードだし という理由。
0056デフォルトの名無しさん (ワッチョイ e318-SNRC)
2016/05/26(木) 20:04:06.71ID:NreTHedY00057デフォルトの名無しさん (ワッチョイ 7b3c-Iguy)
2016/05/26(木) 20:09:50.17ID:HNHWlvNI0いいえ
0058デフォルトの名無しさん (オイコラミネオ MMff-Iguy)
2016/05/26(木) 20:42:41.19ID:2qm/1yJ6M0059デフォルトの名無しさん (ワッチョイ e318-SNRC)
2016/05/26(木) 21:46:59.55ID:NreTHedY0ありがとう
勉強頑張るわ
0060デフォルトの名無しさん (ワッチョイ 07c9-Kzgd)
2016/05/27(金) 11:48:10.98ID:UB68Nja80本質的なところではそんなに変わらないけど字面はかなり変わる
0061デフォルトの名無しさん (ワッチョイ 133c-SNRC)
2016/05/27(金) 21:27:17.95ID:7jUk8cRg0Xcodeにはやくリファクタリングツール付けてくれないかな
0062デフォルトの名無しさん (ワッチョイ ef93-SNRC)
2016/05/29(日) 18:00:00.42ID:+QQL0piv0自分でメソッド作る時も
0063デフォルトの名無しさん (ワッチョイ d742-SNRC)
2016/05/30(月) 23:58:23.49ID:KJkS+pjw0ベストプラクティスある?
0064デフォルトの名無しさん (ワッチョイ 133c-kHkB)
2016/05/31(火) 00:05:48.21ID:LpgiaEue0return
}
print("\(value)_\(value2)")
0065デフォルトの名無しさん (ワッチョイ d742-SNRC)
2016/05/31(火) 01:46:33.05ID:RCb3Xr940おおこんな書き方が!
0066デフォルトの名無しさん (オイコラミネオ MMff-SNRC)
2016/05/31(火) 18:28:56.57ID:DJZE5i1qMMake無しの方使っとけばいい?
0067デフォルトの名無しさん (ワッチョイ e3c9-Wqch)
2016/05/31(火) 18:40:40.10ID:yIUZknFd00068デフォルトの名無しさん (ワッチョイ 07c9-HpYT)
2016/05/31(火) 18:46:10.05ID:s2aN7j8c00069デフォルトの名無しさん (ワッチョイ d742-SNRC)
2016/05/31(火) 18:57:14.56ID:RCb3Xr940hogeMethod(a, :b)みたいに省略できないのかな
0070デフォルトの名無しさん (ワッチョイ 7b3c-Iguy)
2016/05/31(火) 18:57:35.16ID:Uyu8CUZY0WAKEだよ!
すげー!
0071デフォルトの名無しさん (ワッチョイ 9b17-SNRC)
2016/05/31(火) 22:58:07.14ID:43sFGgYH0自分で定義するメソッドなら順番を固定してラベルを省略する方法がなかったっけ?なかったらごめん
0072デフォルトの名無しさん (ワッチョイ 133c-kHkB)
2016/05/31(火) 23:11:48.01ID:LpgiaEue0同じ型でオーバーロードできなくなるけど
0073デフォルトの名無しさん (ワッチョイ 07c9-HpYT)
2016/06/01(水) 01:11:37.07ID:omPFj0uv0確かに変数名を真面目につければつけるほど引数ラベル名と被るジレンマよくある
0074デフォルトの名無しさん (ワッチョイ 133c-HpYT)
2016/06/01(水) 17:56:16.68ID:bUMaKpp30class 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例がイマイチだったのでわかりづらかったのかもですが、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厳密に言うとどうなの?
Xcodeに従っとけばいい?
0078デフォルトの名無しさん (オイコラミネオ MMb4-4qA/)
2016/06/02(木) 17:49:36.51ID:qFtmyDSFM0079デフォルトの名無しさん (ワッチョイ 213c-2WQj)
2016/06/02(木) 19:48:20.11ID:9+Vh9Y6K0例をコードで示してくれるか、警告内容書いてくれないと…
さすがに仕事以外でエスパーするの辛い。
0080デフォルトの名無しさん (ワッチョイ 213c-qC5Z)
2016/06/02(木) 20:31:32.74ID:O50w6Y0Q0使わないのに無駄に関数内で定数設定してるから注意されてるんだよ
あとvarで変数宣言したのに変化させなかったらletで宣言しろって言われる
メモリの無駄遣い防止機能かな
でも宣言した瞬間に邪魔なところに注意文出るからイラッとくる
文字色反転くらいでいい
0081デフォルトの名無しさん (ワッチョイ 9e93-4qA/)
2016/06/02(木) 21:01:20.97ID:xqPUilla0これの65行目です。
今Peek and Popを調査中でしてf^_^;
0082デフォルトの名無しさん (ワッチョイ 213c-qC5Z)
2016/06/02(木) 21:32:05.41ID:O50w6Y0Q0何これ?意味わかんない
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:tHwJhWU8aobjectという引数をobjectというローカル変数へアンラップしてるってことだし
まぁ、可読性という意味ではあれだが
objectは下の方でちゃんと使われてるだろ
まぁ、頑張れ、ふくやましんご君
0084デフォルトの名無しさん (ワッチョイ 9e93-4qA/)
2016/06/02(木) 21:59:29.18ID:xqPUilla0見落としでしたが、時々オプショナルバインディングで警告が出るので質問しました。
返答していただきありがとうございました
あとふくやましんごさんは赤の他人ですので
0085デフォルトの名無しさん (ワッチョイ 213c-qC5Z)
2016/06/02(木) 22:16:03.42ID:O50w6Y0Q0guard let _object = object else {
return
}
こっちだわ。
ちなみにこの_objectも後ろで
_object.removeObserver(self, forKeyPath: "state")
書くまで注意される。理由は>>80
てか本人だったんか、、何かごめんな。
0086デフォルトの名無しさん (ワッチョイ 213c-qC5Z)
2016/06/02(木) 22:17:39.98ID:O50w6Y0Q0やっぱり他人やったんかい!
0087デフォルトの名無しさん (ワッチョイ 213c-ChPp)
2016/06/02(木) 23:14:42.95ID:dR7AiF6z0case .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:VvE0bkkHa0089デフォルトの名無しさん (ササクッテロ Sp89-ud2d)
2016/06/03(金) 01:04:51.42ID:TXwUryARpswift玄人様チーッス
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+0ObjCのクラスを自動的にラッパーして直してないから、ポインタがオプショナルになってるだけでしょ?と思ってる。
自分なら、このケースの場合、if let object は外して↓だけで済ます。
object?.removeObserver(self, forKeyPath: "state")
>>82
外人とかのコード見てもアンラップするだけで、変数名変えるのはあんまり見かけないな。
0093デフォルトの名無しさん (ササクッテロ Sp89-4qA/)
2016/06/03(金) 18:27:35.42ID:iR+TeNRGpお前がSwiftプロだ
0094デフォルトの名無しさん (ササクッテロ Sp89-D6vv)
2016/06/04(土) 15:34:17.98ID:cE2uZEbNp2.xでも一応機構はあるっぽいけど便利コマンドが追加されるだけで構成は同じだといいなぁ
誰かXcodeを使わないSwift開発のノウハウ持っててPackage管理してる人がいたら、互換性(見込み)について教えてくれぃ
0095デフォルトの名無しさん (ササクッテロ Sp89-D6vv)
2016/06/04(土) 20:10:44.84ID:ets/dnaap2.xにon Linuxでも扱えるnamespaceはないかもしれん
誰かエロい人教えて、、、
0096デフォルトの名無しさん (オイコラミネオ MMb4-4qA/)
2016/06/08(水) 17:06:31.54ID:QDb2Bi8hMfor item in array {
// 処理
}
このスタイルで書きたいのですが、いい案ありますでしょうか?
0097デフォルトの名無しさん (アウアウ Sa76-rI5i)
2016/06/08(水) 17:12:21.98ID:FiJoHGXCa0098デフォルトの名無しさん (ブーイモ MMb8-ud2d)
2016/06/08(水) 17:43:25.79ID:IzbVLKR1Menumerateを使う。
filter使うべきって人もいるかもしれない。
0099デフォルトの名無しさん (オイコラミネオ MMb4-4qA/)
2016/06/08(水) 17:46:06.21ID:QDb2Bi8hMありがとうございます。
考えてみます!
世界のナベアツだったら3の倍数で処理するだろw
0100デフォルトの名無しさん (ワッチョイ 213c-1mS6)
2016/06/08(水) 18:51:27.84ID:HG8HbZIy0かな?
0101デフォルトの名無しさん (オイコラミネオ MMb4-4qA/)
2016/06/08(水) 18:52:30.23ID:QDb2Bi8hM参考になります
■ このスレッドは過去ログ倉庫に格納されています