Swift part8 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
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参考になります
0102デフォルトの名無しさん (ワッチョイ e0c9-rI5i)
2016/06/08(水) 19:02:44.73ID:4PrKHMPD0>index / 3 > 0
なんでやねん
0103デフォルトの名無しさん (ワッチョイ 213c-1mS6)
2016/06/08(水) 19:56:11.04ID:HG8HbZIy0あれ違った?ボケてるかも
0104デフォルトの名無しさん (ワッチョイ 213c-1mS6)
2016/06/08(水) 19:57:46.26ID:HG8HbZIy00105デフォルトの名無しさん (アウアウ Saff-2+vS)
2016/06/10(金) 20:50:53.96ID:dDF5pFSwahttps://www.infoq.com/jp/news/2016/06/swift-3-no-stable-abi
0106デフォルトの名無しさん (ワッチョイ 8b3c-1atY)
2016/06/10(金) 21:34:49.53ID:Icj8uFk90納期に間に合わないなら仕方ないよねぇ。
さすがに後々問題になる可能性があるなら時間かけてでも検討、排除してほしいわ。
0107デフォルトの名無しさん (ササクッテロ Spd7-jNGR)
2016/06/10(金) 21:39:16.58ID:ZdUNqcUFpワロタ
swiftの中ですらABI安定してないのに、objcまで頑張ろうとしたら、そりゃ無理だわw
0108デフォルトの名無しさん (アウアウ Sa3f-1atY)
2016/06/10(金) 22:28:35.24ID:Ibo6Xp9La0109デフォルトの名無しさん (ワッチョイ eb7b-1atY)
2016/06/10(金) 23:10:00.51ID:xyNxE4XD0APIが変わってもABIは互換性は維持するって可能なものなんだ。
APIとABIって一対一対応なのかと
0110デフォルトの名無しさん (アウアウ Sa97-oU5x)
2016/06/11(土) 01:55:06.60ID:QumDJQ98a時代はC#
WWDC二次会が楽しみだわ
0111デフォルトの名無しさん (アウアウ Sa3f-1atY)
2016/06/11(土) 02:06:01.12ID:XA6DLEjFaクソ重い.NET無いと動かねぇーし
0112デフォルトの名無しさん (ワッチョイ ef3c-jNGR)
2016/06/11(土) 03:04:26.27ID:HBWP+BM70え!?w
0113デフォルトの名無しさん (ワッチョイ 0742-jNGR)
2016/06/11(土) 03:38:53.11ID:+qdbIGEA0ABIって例えば関数呼び出す時のレジスタどうするかとかスタックどうするかとかいった話だろ。
普通はAPI関係ない。
0114デフォルトの名無しさん (ササクッテロ Spd7-jNGR)
2016/06/11(土) 07:44:10.16ID:ienu9sBbp>>111
処理性能の足を引っ張ってる小さな(笑)ランタイムがないと動かないSwiftディスってんじゃねーよwww
0115デフォルトの名無しさん (ワッチョイ 8b3c-1atY)
2016/06/11(土) 10:06:59.69ID:FWlFwO2K0iOSアプリ開発すんのにUnityとかいちいち起動してらんねーんだよ。
XcodeでC#使えるようになったら考えてもいい。
つーか、別に言語なんて糞じゃなけりゃなんでもいいわ。
今考えるとSwift1.x系はそこそこ糞だったな。
0116デフォルトの名無しさん (アウアウ Sa3f-1atY)
2016/06/11(土) 10:35:44.87ID:iL4iXZRCa参照カウント式メモリ管理に慣れた今ガベコレとか耐えられない
0117デフォルトの名無しさん (ササクッテロ Spd7-jNGR)
2016/06/11(土) 11:47:20.38ID:K3zUElr6p言語、ランタイムに合わせて使いこなすか、使えないなら近寄らないべきだろ
0118デフォルトの名無しさん (スプー Sdcf-jNGR)
2016/06/11(土) 11:51:07.38ID:BuQwEvTrdガベコレのほうがよっぽど初心者向け仕様だろ
0119デフォルトの名無しさん (ワッチョイ 233c-VqNH)
2016/06/11(土) 16:33:32.90ID:lGk3iJgb00120デフォルトの名無しさん (アウアウ Sa3f-1atY)
2016/06/11(土) 17:12:30.02ID:tY1WxmQFaそれなりのメリットが必要だわな
iOSオンリーな俺にわざわざXamarinを使うメリットはないのだよ
0121デフォルトの名無しさん (ササクッテロ Spd7-2ckR)
2016/06/11(土) 22:58:00.28ID:g/rGqFOCp参照カウント, GCのいずれかしか使いこなせない => 初心者
いずれも適当に使える => 中級者
alloc, free以外許す気がない => 上級者
>>115
2.xもクソだし、3.xもクソだと思うよ
3.xのビルドツール使ってみてるけど、Package ManagerがCocoaPodsやCarthageと互換性なくて笑う
今の所は .xcodeproj や Info.plist とも連携する雰囲気がないし、どうなるのさこれ・・・
0122デフォルトの名無しさん (アウアウ Sa3f-1atY)
2016/06/11(土) 23:07:50.31ID:eRqP7x9gaCoacoaPodsもarthageもAppleからしてみればサードパーティが勝手に提供してるツールでそこの互換性を気にする義理はないわな
0123デフォルトの名無しさん (ワッチョイ 8b3c-7xHu)
2016/06/12(日) 00:11:53.55ID:S4cPSCPd0使えるものを使わずalloc, freeに拘るのはただの老害だと思うけど、
自前でメモリ管理できないプログラマは二流だし、
自前でメモリ管理することを許さないプログラミング言語は三流だわな
PackageManagerは将来的にはXcodeに組み込まれてNuGetみたいにゴリ押しされるから大丈夫
0124デフォルトの名無しさん (ササクッテロ Spd7-jNGR)
2016/06/12(日) 01:23:45.61ID:dmPmHezlp要はARCマンセーなんだろうな
0125デフォルトの名無しさん (アウアウ Sa3f-zoFs)
2016/06/14(火) 00:54:41.75ID:8yjejgOaa0126デフォルトの名無しさん (ササクッテロ Spd7-zoFs)
2016/06/14(火) 01:22:51.47ID:7FWxp3bzpSwift++とか来年すぐに出てくるぞ
0127デフォルトの名無しさん (アウアウ Sa3f-1atY)
2016/06/14(火) 01:37:55.95ID:TmMOv/QAa0128デフォルトの名無しさん (アウアウ Sa3f-zoFs)
2016/06/14(火) 01:47:48.70ID:8yjejgOaa0129デフォルトの名無しさん (ワッチョイ a33c-AHtr)
2016/06/14(火) 03:09:06.48ID:tPi5OMXi00130デフォルトの名無しさん (ワッチョイ 3b66-oU5x)
2016/06/14(火) 05:04:52.84ID:9VHKttIj0プログラムの勉強にはいいんだがswiftの方が
学んで後々使えるぐらい仕様安定するのか…
0131デフォルトの名無しさん (ワッチョイ ef93-oU5x)
2016/06/14(火) 05:18:15.59ID:F+5+ukCP00132デフォルトの名無しさん (ワッチョイ 9b8b-jNGR)
2016/06/14(火) 07:54:06.23ID:o0HgXHCE0そんな心配しなくてもSwiftはすぐ消えるから
0133デフォルトの名無しさん (ササクッテロ Spd7-jNGR)
2016/06/14(火) 08:22:29.77ID:GA68fGvrp随分前からswiftppは出てる
0134デフォルトの名無しさん (アウアウ Sa3f-zoFs)
2016/06/15(水) 01:58:24.67ID:HOkjGBqoa0135デフォルトの名無しさん (ワッチョイ a33c-AHtr)
2016/06/15(水) 02:04:03.71ID:JQG8N//+00136デフォルトの名無しさん (ワッチョイ 57c9-1atY)
2016/06/15(水) 03:04:06.18ID:AKfbMiRN00137デフォルトの名無しさん (ササクッテロ Spd7-jNGR)
2016/06/15(水) 08:04:43.58ID:t8WJCWqDpしかし、逆ブレが強すぎてSwift風味に少食気味になるわ
0138デフォルトの名無しさん (ササクッテロ Spd7-FUCW)
2016/06/15(水) 13:30:26.42ID:t8WJCWqDpNSプレフィクスをコンパイラが付けるから要らなくなるってことかと思ったら
Foundation.swiftとかでNSプレフィクスなしの構造体が再定義されてるのな
道理でNSプレフィクスが要るものと、要らないものと混在するわけだ
< NSプレフィクスを全撤去したらビルドエラーが出た
0139デフォルトの名無しさん (アウアウ Sa3f-1atY)
2016/06/15(水) 14:02:58.21ID:wNwSdVKma0140デフォルトの名無しさん (ササクッテロ Spd7-jNGR)
2016/06/15(水) 14:24:43.12ID:t8WJCWqDp取り合えず、構造体が単なるラッパーなら性能がまた落ちるからやめて欲しい
NSつけたらエラー/ワーニング出るけど
0141デフォルトの名無しさん (ワッチョイ fc42-o3Bz)
2016/06/16(木) 00:24:12.15ID:b32tR6DT0NeXT にコンプレックスがある奴が引っ掻き回しているとしか思えない。
0142デフォルトの名無しさん (ワッチョイ d98b-qS7w)
2016/06/16(木) 00:55:04.77ID:N2kyoOQs0くそだわ
最近のアップルはホントに小手先の変わった感で誤魔化すことしか考えてない
0143デフォルトの名無しさん (ワッチョイ fc42-ntlg)
2016/06/16(木) 01:11:41.34ID:5OteNi9t0まだまだ不便だけど
0144デフォルトの名無しさん (ワッチョイ 50c9-o3Bz)
2016/06/16(木) 01:12:59.62ID:MpHMwtX90Swift先生が値型セマンティクスのあるべき姿に正してくれたんやで
0145デフォルトの名無しさん (ワッチョイ 8b3c-77//)
2016/06/16(木) 01:14:19.64ID:lHelW+jt00146デフォルトの名無しさん (ワッチョイ 8317-ntlg)
2016/06/16(木) 01:38:25.49ID:a4ODjedr0そういやObjective-CだとimmutableはスレッドセーフでmutableはスレッドアンセーフだけどSwiftはそのへんどうなってるの?
0147デフォルトの名無しさん (ササクッテロ Sp4d-qS7w)
2016/06/16(木) 01:49:47.87ID:xvtNBgrWpobj-cもバックポートしてジェネリクスやnilable追加してる
冷遇されてないやん
0148デフォルトの名無しさん (アウアウ Sa3e-o3Bz)
2016/06/16(木) 02:03:18.81ID:h5j7M7Fta0149デフォルトの名無しさん (ササクッテロ Sp4d-MYuK)
2016/06/16(木) 08:27:02.43ID:Rn5Y9zAqp0150デフォルトの名無しさん (ササクッテロ Sp4d-ntlg)
2016/06/16(木) 08:27:55.28ID:qIs25kXxpDateFormatterはclassだし、一貫性がないんだが
0151デフォルトの名無しさん (ササクッテロ Sp4d-qS7w)
2016/06/16(木) 08:31:59.04ID:xvtNBgrWp一見で分からないと実用が辛いと切実に思いはする
0152デフォルトの名無しさん (アウアウ Sa3e-MYuK)
2016/06/16(木) 08:32:39.70ID:YJ4WCJk5aクソアプリ作り直すの面倒なんだが
0153デフォルトの名無しさん (ササクッテロ Sp4d-ntlg)
2016/06/16(木) 08:36:51.43ID:qIs25kXxpNSがない参照型
NSが残ったままの一部Mutable参照型
NSが残ったままでMutableはないけどSwiftに合わせてMutableに変更した型
の4パターンない?これ法則性なんてないぞ
0154デフォルトの名無しさん (アウアウ Sa3e-MYuK)
2016/06/16(木) 08:46:08.83ID:YJ4WCJk5aどうせウンコなのだろうけど
0155デフォルトの名無しさん (ササクッテロ Sp4d-MYuK)
2016/06/16(木) 09:35:08.90ID:Rn5Y9zAqpならないならObCで十分な気が
0156デフォルトの名無しさん (ワッチョイ 353c-9XTm)
2016/06/16(木) 10:00:39.78ID:hWAFG/l700157デフォルトの名無しさん (アウアウ Sa3e-o3Bz)
2016/06/16(木) 10:46:45.34ID:T+6u6n/Ha0158デフォルトの名無しさん (ササクッテロ Sp4d-MYuK)
2016/06/16(木) 10:58:05.80ID:Rn5Y9zAqpもっとなんつーか、nullとかどうでもよくて、
テーブル配置するとweb api呼ぶロジックまでサクッと作ってくれたり、セル中のイメージについても非同期でふあっと表示してくれたり、プログラムレスみたいなところをAppleには期待しているんだか・・
0159デフォルトの名無しさん (ワッチョイ 21c9-IAjB)
2016/06/16(木) 11:56:15.03ID:hLUHI1zp0同意
Node.js 界隈の流れと似てるんだよな
0160デフォルトの名無しさん (ササクッテロ Sp4d-7oQw)
2016/06/16(木) 12:13:45.98ID:z0RRzkKrp問題を分解して
・NSプレフィクスなしのstructとclassが混在してる
=> メンバが値型だけのものと参照型もあるものがあるから仕方ない
・Mutableがあるものとないものがある
=> どの型(struct/class)がそれに当たるか分からんけどObjCでもMutableクラスがあったりなかったりするんじゃね?
マトリックスで4パターン在りそうではあるな
もう面倒だから全てclassにしてMutable有無はObjCにMutableを全てバックポートして1パターンにすればいいな!
0161デフォルトの名無しさん (ワッチョイ 353c-ntlg)
2016/06/16(木) 21:28:18.49ID:sy3QoUPQ00162デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/16(木) 23:04:56.13ID:WBjdL78K0型名にプリフィクスつければいいんでない?
俺はクラスはCHogeみたいにしてる
これだとわかりやすい
0163デフォルトの名無しさん (アウアウ Sa3e-o3Bz)
2016/06/16(木) 23:29:09.38ID:XHHNTNoma0164デフォルトの名無しさん (ササクッテロ Sp4d-ntlg)
2016/06/17(金) 01:37:43.94ID:5FRm5cqIp0165デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/17(金) 05:01:47.43ID:O3eIFVC90・参照型はヒープからメモリが動的確保される
→ちゃんとしたメモリ管理を意識するには区別は必須
・参照型は複数の場所からメモリが共有される
→確保されたメモリの寿命が想定しにくい
→意図しないタイミングでメモリ確保や解放が走る危険がある
→ゲームにおいてはFPSが安定しない原因となる
→できるだけ使わないようにする工夫が必要(区別が必要)
→再現や原因特定が難しいバグの温床になる(解放後アクセスなど)
→できるだけ使わないようにする工夫が必要(区別が必要)
・値型はコピーコストが大きい
→値型できるだけ代入や関数渡しを行わないようにする必要がある
→値型と参照型を区別する必要がある
プロのエンジニアほど値型と参照型を区別し実行効率のいいプログラムを書く
「本物の」エンジニアが
(値型と参照型がごっちゃの)C#やSwift、Javaを使わず
(値型と参照型が区別しやすい)C++を使うのはそれが理由
0166デフォルトの名無しさん (ワッチョイ 0166-ntlg)
2016/06/17(金) 05:35:01.90ID:Yb0Hf3EI00167デフォルトの名無しさん (ブーイモ MM01-qS7w)
2016/06/17(金) 07:59:29.55ID:l4CEosSxMc#をまねたんだろうけど、c#使ってみて使いにくいと思わなかったんだろうか。。
0168デフォルトの名無しさん (ササクッテロ Sp4d-qS7w)
2016/06/17(金) 09:09:46.50ID:1pirHGETp逆ブレしてできる限り修飾なくしてタイプに合わせて固定するようにしたんだろう
retain, releaseうぜー => ARCにしよう
@修飾うぜー => タイプ毎に固定しよう
思想は分からなくもない
0169デフォルトの名無しさん (アウアウ Sa3e-o3Bz)
2016/06/17(金) 09:46:49.62ID:/Brx6kYia参照カウント式のメモリ管理なんだからメモリ確保や解放のタイミングはっきりしてるだろ。ガベコレと混同してないか?
意図しないタイミングで解放されると思っているならそれは自分が意識できていない証拠。
それと値型が常にコピーされるわけじゃないだろ。コピーオンライトだから変更が生じた時に初めてコピーされる。変更しないならコストはほとんどかからない。
なぜstructの変更メソッドにmutatingを強制されると思ってるんだ?
0170デフォルトの名無しさん (ワッチョイ 50c9-o3Bz)
2016/06/17(金) 11:03:24.20ID:JJkz2RIU00171デフォルトの名無しさん (スプー Sdf8-qS7w)
2016/06/17(金) 11:12:29.81ID:IJmnPBGJd0172デフォルトの名無しさん (ササクッテロ Sp4d-ntlg)
2016/06/17(金) 12:34:52.24ID:lpE23cnBpで、それぞれのボタンテキストを個々に違うものにするにはどうすればいいんですか?
やっぱ個別に
var btn1 = btn()
var btn2 = btn()
ってして別物にするしかないんですか?
インスタンス化してから個別に変更可能な変数とかありませんか?
0173デフォルトの名無しさん (ワッチョイ 0166-ntlg)
2016/06/17(金) 13:29:49.01ID:Yb0Hf3EI0インスタンスはそれぞれ情報を持ってるから単純に
それぞれのインスタンスのプロパティ(変数)に
インスタンス作成後にドット構文で値をセットするだけ。
0174デフォルトの名無しさん (ワッチョイ fc42-ntlg)
2016/06/17(金) 16:09:20.95ID:G7TV3QK90参照型と値型の区別はスタックやヒープとは無関係
0175デフォルトの名無しさん (ササクッテロ Sp4d-7oQw)
2016/06/17(金) 16:11:53.54ID:1pirHGETppublic func draw(string: String) {
}
public func draw(string: String, point: CGPoint) {
}
}
@objc public class Drawer2: NSObject {
public func drawString(_ string: String) {
}
public func drawString(_ string: String, point: CGPoint) {
}
}
Appleの教えに従順な子たちに聞きたいんだが
第一変数の前置キーワードの有無はどっちがモダンなの?
0176デフォルトの名無しさん (アウアウ Sac5-9XTm)
2016/06/17(金) 18:01:14.67ID:Gr/Wtxhwa3.0からは上になるらしい
0177デフォルトの名無しさん (ワッチョイ 353c-ntlg)
2016/06/17(金) 18:54:24.96ID:6bQikBHY0あ、それは普通に
var btn1 =btn()
var btn2 =btn()
ってしてる場合ですよね?
そうじゃなくて
btn1 = btn2 =btn()
の状態でbtn()クラス内にインスタンス化した後に個別で設定できる変数が欲しいなと思ったんです。
何か変なこと言ってるかも知れませんが、、
0178デフォルトの名無しさん (ワッチョイ 8b45-o3Bz)
2016/06/17(金) 19:09:07.05ID:abgNsJLe00179デフォルトの名無しさん (JP 0Ha5-qS7w)
2016/06/17(金) 19:14:37.99ID:EHxWLoiPH構造体じゃだめ?
0180デフォルトの名無しさん (ワッチョイ d217-bSae)
2016/06/17(金) 19:55:16.29ID:zGYbbhBh0この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
https://www.youtube.com/watch?v=ZBwEmgdqB1c
「1910」 副島隆彦 2016年6月16日
大阪市や大阪府のバスの運転手が年収1000万円は許せない、600万円まで落とすと。
なぜなら、普通の労働者たちが年収400万円でようやく働いているのに、何でバスの運転手が1000万円ももらえるんだと。
このものすごくすばらしい主張があった。
これを言われると日本の民主党や共産党は非常に困るんです。
が、先ほど言ったように、金持ちたちの財産を相続税で国家が奪い取る、これを正面から本気でやったらほんとに橋下はたたき潰されました。
労働組合を押さえつけるまでは安倍晋三たちも大好きだからよかったんだけど、
自分たち自民党体制の、金持ちと地主階級、経営者を大事にするという自民党の基本骨格があるわけです。
0181デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/17(金) 20:04:24.09ID:m2lL2O8z0あそっか!クラス変数ってのがありましたね!
それかもしれません!検索してみます!!
>>179
UIViewのサブクラスなんですよ。
それに内容物がそれなりにあるので値型のコピーで増やすとメモリがもったいないなと思いまして。
そもそも元は
var btn1 =btn()
var btn2 =btn()
のやり方で普通に作って動かしてたんですがメモリを意識するようになり参照型の挙動について深く知りたくなりまして、、
上記のインスタンスの増やし方だとインスタンス変数はそれぞれ別領域に確保されてる気がするんですよね。
でも色や形、内部関数で使う変数など大半の情報は共通で良いので
btn1 = btn2 = btn()
のような挙動が好ましいです。
でも個別で設定したい変数もある。という感じです。
0182デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/17(金) 20:11:28.80ID:NB8H2ZOx0class A {
static var val: UIColor
}
とかじゃダメなん?
てか、メモリなんか気にすんなよ、現行のiPhoneなら落ちねーよ。
0183デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/17(金) 20:17:50.16ID:m2lL2O8z0ってまだ使えないみたいですね、、
staticにするとどういった挙動になるんでしょうか?
0184デフォルトの名無しさん (ワッチョイ 50c9-o3Bz)
2016/06/17(金) 21:27:42.63ID:JJkz2RIU0ワッチョイ 353c-o3Bz
本物のエンジニアさんマジかっけーw
0185デフォルトの名無しさん (ブーイモ MM39-qS7w)
2016/06/17(金) 22:58:49.23ID:k+R4NuOAMお前はもっと頑張れよ
0186デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/18(土) 00:43:15.51ID:SqXZp1CN0自分の環境だと↓で動くけどな。staticはそのクラス内で同じ値を共有する指定子だ。詳しくは”swift static”でググれ。
func test() {
class Hoge {
static var str: String = "hoge"
}
let hoge1: Hoge = Hoge()
let hoge2: Hoge = Hoge()
print(hoge1.dynamicType.str) // "hoge"
print(hoge2.dynamicType.str) // "hoge"
print(Hoge.str) // "hoge"
Hoge.str = "huga"
print(Hoge.str) // huga
hoge1.dynamicType.str = "foo"
print(Hoge.str) // "foo"
print(hoge2.dynamicType.str) // "foo"
}
0187デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/18(土) 07:18:13.93ID:SSFYRUk+0ありがとう!
助かりました!
0188デフォルトの名無しさん (ササクッテロ Sp4d-7oQw)
2016/06/18(土) 12:39:22.87ID:LoVGXRyxpthx
ObjCヘッダにした時に drawWithString:(NSString *) string じゃなく drawString:(NSString *)string になって欲しかったけど
beta や 1.x にはそんな変換ルールがあったはずだけどいつの間にか無くなってて、これも後者はダサいというApple様の教えっぽいな
突き抜けるとこうなるけど、@objcをつけてこれをやるのは流石にダメな気がしなくもない
@objc public class Drawer: NSObject {
public func draw(for string: String, at point: CGPoint = CGPoint.zero) {
}
}
0189デフォルトの名無しさん (ワッチョイ c693-ntlg)
2016/06/18(土) 13:51:47.24ID:OLXU/OFf00190デフォルトの名無しさん (ワッチョイ c693-ntlg)
2016/06/18(土) 13:56:54.21ID:OLXU/OFf00191デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/18(土) 18:17:19.82ID:jDGY/iix0swift3ちょっと触ってみようと思ってbetaのXcodeでファイル開いたらXcode7でエラー出まくってるんですけどー
コンバートはキャンセルしたはずなのにー
最悪なんですけどー
0192デフォルトの名無しさん (ササクッテロ Sp4d-qS7w)
2016/06/18(土) 18:28:38.44ID:iN6Inr/Dpざまぁwwww
>>189
その手のインターフェースは着々と削ってきてるなぁ
多段メソッド呼べばforで回せる型は取得出来るだろうよ、Qiitaに行ったらサンプルコードありそう
0193デフォルトの名無しさん (ワッチョイ 353c-4fuR)
2016/06/19(日) 01:49:47.74ID:8IT6imBp00194デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/19(日) 01:51:48.82ID:YCHLwc/F0Xcode8-beta動かしたらXcode7がおかしくなるみたい
“Command /usr/bin/ditto failed with exit code 1”ってのが3つ出てる。
設定ファイル上書きされたっぽい
あーめんどいわー
0195デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/19(日) 02:01:59.66ID:YCHLwc/F0Xcode8-betaでも同じエラー出てるわー
何だこれー、意味わかんねー
0196デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/19(日) 02:50:54.95ID:YCHLwc/F0そういうことだったらしい
0197デフォルトの名無しさん (アウアウ Sa3e-o3Bz)
2016/06/19(日) 10:05:42.83ID:jiJ96XDsa0198デフォルトの名無しさん (ワッチョイ 5c42-qS7w)
2016/06/19(日) 10:56:44.35ID:3v1ECtbO0そうだな。
まずは2chリーダー機能を
0199デフォルトの名無しさん (ササクッテロ Sp4d-ntlg)
2016/06/20(月) 12:20:16.46ID:uuasGfzYpあれってxmlだからブラウザみたいなもんじゃないの?
毎回ブラウザ的なものを起動し直してるのかな?
0200デフォルトの名無しさん (アウアウ Sa3e-o3Bz)
2016/06/20(月) 13:14:32.27ID:w3MDWnf1a0201デフォルトの名無しさん (ワッチョイ 0d7b-o3Bz)
2016/06/20(月) 15:19:11.56ID:8rKuoF4g0単純にマシンパワー不足なのかも。
どのスペックで運用してるの
0202デフォルトの名無しさん (オイコラミネオ MM54-ntlg)
2016/06/20(月) 18:39:29.83ID:KK4iLTF5M0203デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/20(月) 18:41:34.67ID:yi+M/Qao02011のMBP13インチで8Gメモリ
古いからPhotoshopとかでも10レイヤーくらいで重くなったりするんだけども
それでもストーリーボードに関してはファイル選択しちゃったら(別ファイルを選択するつもりで上を通り過ぎるだけでも)10秒くらいは白画面で操作受け付けなくなる
重さと機能が見合ってないっていうか何ていうか、不自然な重さなのである。
0204デフォルトの名無しさん (ワッチョイ 8317-ntlg)
2016/06/20(月) 18:49:48.08ID:3xIqWxcV0どういう事?
0205デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/20(月) 19:00:29.65ID:yi+M/Qao0一応見たけどUITableViewは普通にあったね
前のtouchesBeganみたいにコンバートしきれない変更が多いのかな?
0206デフォルトの名無しさん (ワッチョイ c693-ntlg)
2016/06/20(月) 19:50:10.70ID:A1bMd2Vm02.0では動いてたよ
自分の知識不足が原因だよ
0207デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/20(月) 19:56:53.29ID:iL87O4mO0MacBook Pro (15-inch, Mid 2010) だけど、初期のストーリーボードならファイル選択時に若干もたついても、長くてせいぜい1,2秒程度だよ。
0208デフォルトの名無しさん (ワッチョイ 353c-nyB3)
2016/06/20(月) 23:42:08.93ID:E8+QxyeU00209デフォルトの名無しさん (ワッチョイ 353c-o3Bz)
2016/06/21(火) 09:42:50.30ID:zc7y1ZPP0>>207だけど、システムはSSDにしてたわ。
HDDのままだとやばいんだろうか?
0210デフォルトの名無しさん (オイコラミネオ MM54-ntlg)
2016/06/21(火) 18:11:49.82ID:/7mwTcxAMラベルがないとか、つけるなとか、エラーがうるさいよ(´・_・`)
0211デフォルトの名無しさん (オイコラミネオ MM54-ntlg)
2016/06/21(火) 18:12:36.90ID:/7mwTcxAM0212デフォルトの名無しさん (ササクッテロ Sp4d-qS7w)
2016/06/21(火) 19:05:37.98ID:QnyxuFLwp聖遺物が犯されるとジョブス信者がファビョりそうだなぁ
0213デフォルトの名無しさん (ワッチョイ 50c9-o3Bz)
2016/06/22(水) 20:03:00.10ID:GmEeJgO100214デフォルトの名無しさん (オイコラミネオ MMef-Z7EN)
2016/06/24(金) 15:39:30.61ID:D76kG+ZLMそれでよかった
0215デフォルトの名無しさん (オイコラミネオ MMef-Z7EN)
2016/06/24(金) 15:40:37.07ID:D76kG+ZLMいままで使っていたメソッドがUITableViewDataSourceプロトコルに移行しておったのが原因じゃった
0216デフォルトの名無しさん (ワッチョイ eb3c-CM8X)
2016/06/28(火) 08:11:11.52ID:ZCbqkJp10メソッドの1個めだけ規則がちげーのがきめーと言い続けてきたが
ついに全部ラベルつきに統一されたか
俺には先見の妙があったな、ガハハ!
でもgetValue()とかどうすんだ
get(value) とかになんの?
0217デフォルトの名無しさん (ササクッテロ Spb7-gJJb)
2016/06/28(火) 08:33:38.45ID:cmOfDhcRp0218デフォルトの名無しさん (ササクッテロ Spb7-Z7EN)
2016/06/28(火) 09:17:13.52ID:jB07YuJvpValue型ならなる
getStringはget()->String
引数名と型が一致してなければそのまま
0219デフォルトの名無しさん (ワッチョイ 97c9-CM8X)
2016/06/28(火) 12:41:44.71ID:SzDvpUGs0>先見の妙
0220デフォルトの名無しさん (オイコラミネオ MMef-iWcA)
2016/06/28(火) 12:54:20.13ID:7+ajw/ORM中興の祖
0221デフォルトの名無しさん (アウアウ Sa3f-CM8X)
2016/06/28(火) 13:01:48.97ID:5TI3Z5IKa漁夫の利
0222デフォルトの名無しさん (ササクッテロ Spb7-zCkP)
2016/06/28(火) 13:08:45.58ID:cmOfDhcRpそれは違う
マジレスすると
var value {
return hoge
}
にしろというね
イマドキgetValueなんてメソッド定義するアホは逝ってよし
ObjCですらそんな文法は古臭い
0223デフォルトの名無しさん (アウアウ Sa3f-CM8X)
2016/06/28(火) 13:21:34.28ID:5TI3Z5IKa他山の石
0224デフォルトの名無しさん (ワッチョイ ef4e-DaWq)
2016/06/28(火) 13:50:01.93ID:q+ED03Ko00225デフォルトの名無しさん (オイコラミネオ MMef-Z7EN)
2016/06/28(火) 17:49:18.46ID:bxuSRhA5M0226デフォルトの名無しさん (ワッチョイ eb3c-CM8X)
2016/06/28(火) 21:39:45.95ID:ZCbqkJp10プロパティにするのはちょっと違うと思う
その例みたいにただhogeを返すだけならいいが
処理が重い場合はプロパティ感覚で気軽に
呼びだされちゃ困るからわざと関数にすることがある
var value : String {
return m_hoge;
} // プロパティでok
func getValue() -> String {
var hoge = "";
// 重い処理でhogeをいじる…
return hoge;
} // 重いので関数で!
get(_ value: Void) -> String にするのがいいのかな
0227デフォルトの名無しさん (ササクッテロ Spb7-zCkP)
2016/06/28(火) 22:10:08.77ID:cmOfDhcRp重いから云々で切り替えるって10年も前の意識だろ、イマドキその区分け基準はないわ
上でも挙げたけど@objcつけたら滑稽なI/Fになるからやめれ
Swiftだけで綺麗に見えてれば良いんだよwwwって意識高い系ならもうそれで良いけどさ
0228デフォルトの名無しさん (アウアウ Sa3f-CM8X)
2016/06/28(火) 22:16:03.67ID:4sGhMYiSa0229デフォルトの名無しさん (ワッチョイ eb3c-jO4j)
2016/06/29(水) 00:16:01.87ID:ebP7vD7n0_ プライベートを意味する
__ Apple様しか使わないことを意味する
___ Apple様の中でも上級Applerしか使ってはいけないことを意味する
0230デフォルトの名無しさん (オイコラミネオ MMef-Z7EN)
2016/06/29(水) 16:49:57.04ID:+RWPkAMOMextension?クラスの横に,でプロトコルやデリゲートを追加?ケースバイケース?
0231デフォルトの名無しさん (アウアウ Sa3f-CM8X)
2016/06/29(水) 16:54:38.15ID:2MzgcDxya0232デフォルトの名無しさん (オイコラミネオ MMef-Z7EN)
2016/06/29(水) 17:13:42.56ID:+RWPkAMOM0233デフォルトの名無しさん (ワッチョイ eb3c-CM8X)
2016/06/29(水) 21:48:12.52ID:wGAYe3WS0非同期で返すほどではないが何度も呼ばれるとまずい程度には遅い関数って、
結構あるんだよ。
配列や文字列を線形探索する関数とか。
// メンバとしてもつ配列の最大の値のインデックスを返す関数
func getMaxValueIndex() -> UInt {
var index = -1 // -1ならNotFound
var max = 0
for (i, value) in m_values {
if value > max {
index = i;
max = value;
}
return index;
}
こんなのを var maxValueIndex なんてプロパティにして、
変数感覚で気軽に呼び出されたらまずいでしょ。
0234デフォルトの名無しさん (ササクッテロ Spb7-gJJb)
2016/06/29(水) 22:07:32.64ID:mM18OEEypキャッシュするか、配列の変更時に事前計算だろ?
何が問題なんだろうね
>>229
実際、Foundation.swiftの実装でプレフィクスどうなってるか気になるな
極力アポー様の教えに従いたいので知りたいよ
0235デフォルトの名無しさん (アウアウ Saf6-dfX6)
2016/06/30(木) 00:56:02.59ID:MEE6GOQUa0236デフォルトの名無しさん (ワッチョイ 9910-/PL2)
2016/06/30(木) 03:27:22.89ID:msjqUaEK0中身が変更されまくるものだったらキャッシュしてもしょうがないし、使用頻度を考えると変更時に事前計算するのは避けたい場合もあると思うけど。
だから何でもかんでもプロパティにするのはよろしくないとは思う。
ただ、プロパティとgetなんちゃらというメソッドで計算コストが違うという共通認識を皆が持ってるかというのは疑問
個人的にはfindMaxValueIndexとかいうメソッド名にしてくれたら時間かかりそうだなって思えるけど
0237デフォルトの名無しさん (ササクッテロ Spc9-s3GQ)
2016/06/30(木) 08:37:21.45ID:sNJzBkxbpあと、getなんちゃらとfindなんちゃらの計算コストが違うという共通認識を皆が持ってるか疑問
という疑問も持った方がいいな、コメントにでも注釈付けとけ
0238デフォルトの名無しさん (アウアウ Saf6-dfX6)
2016/06/30(木) 09:12:12.94ID:EbiLSiSEa>>236はA型っぽいな
0239デフォルトの名無しさん (ワッチョイ 9910-/PL2)
2016/06/30(木) 13:31:10.66ID:msjqUaEK0前半分は>>234に対する疑問で、
「普通はキャッシュや事前計算」って言える程普通じゃないだろうってことを言いたいだけだったんだけど、大抵のケースでキャッシュや事前計算で解決できると思ってるのだって思い込みだろう?
後ろ半分の話は>>233に対する疑問でプロパティの代わりにgetメソッドが用意されてたら沢山呼ばないほうがいい風潮になってるの?ってことを聞きたかったんだけど
個人的にはgetとfindだったらfindは毎回計算してそう、と言っただけで皆そう思ってるはずだからこうするべきと言ってるわけじゃないのになんでget/findの共通認識がどうのっていう言い方で返されるのか疑問
0240デフォルトの名無しさん (アウアウ Sa61-bRa0)
2016/06/30(木) 13:41:20.24ID:nPgPHtAraはい、解決
0241デフォルトの名無しさん (ササクッテロ Spc9-s3GQ)
2016/06/30(木) 16:03:43.53ID:sNJzBkxbp0242デフォルトの名無しさん (オイコラミネオ MMb4-oxCW)
2016/06/30(木) 17:46:55.60ID:UTC/JhrUM(iOS Human Interface Guidelinesと照らし合わせてみて)
0243デフォルトの名無しさん (アウアウ Saf6-dfX6)
2016/06/30(木) 17:59:01.00ID:1eFZP5OCa0244デフォルトの名無しさん (ワッチョイ 613c-R7o+)
2016/06/30(木) 21:24:06.00ID:LYDVxhPg00245デフォルトの名無しさん (ワッチョイ 1e93-oxCW)
2016/06/30(木) 22:06:23.41ID:Y+MKvNri00246デフォルトの名無しさん (オイコラミネオ MMb4-oxCW)
2016/07/01(金) 10:42:50.38ID:kTHfiOpEM0247デフォルトの名無しさん (ワッチョイ e0c9-dfX6)
2016/07/01(金) 11:05:47.74ID:iZbsZJ7a0[SDK]iPhoneアプリ開発初心者質問箱46[touch][iPad] [無断転載禁止]©2ch.net
http://potato.2ch.net/test/read.cgi/mac/1460975101/
0248デフォルトの名無しさん (ワッチョイ 613c-dfX6)
2016/07/04(月) 01:39:07.20ID:jde26vCm0例えば 配列.last で最後のやつ弄りたいのにgetオンリーでエラーって誰得?
0249デフォルトの名無しさん (アウアウ Saf6-dfX6)
2016/07/04(月) 02:00:42.87ID:0HQjDP9Aa0250デフォルトの名無しさん (ワッチョイ dd91-s3GQ)
2016/07/04(月) 09:08:10.81ID:/fDVk2WK0俺得なインターフェースが欲しいなら適当にextensionで追加しろ
0251デフォルトの名無しさん (ワッチョイ e0c9-dfX6)
2016/07/04(月) 16:07:03.69ID:tmQPI5vq00252デフォルトの名無しさん (アウアウ Sa25-dfX6)
2016/07/04(月) 16:14:50.13ID:3xy2R967a0253デフォルトの名無しさん (アウウィフ FF25-PhU/)
2016/07/04(月) 16:40:04.39ID:igr6hGQQF0254デフォルトの名無しさん (ワッチョイ 613c-dfX6)
2016/07/04(月) 16:58:30.84ID:luyT0NF10最後尾に追加はappendでしょ
lastって普通最後尾のエレメントを指さないか?
0255デフォルトの名無しさん (ワッチョイ 613c-dfX6)
2016/07/04(月) 21:24:07.43ID:7j/w943c0var array= [1, 1, 4, 5, 1, 4]
array.last = 1919
array // => [1, 1, 4, 5, 1, 1919]
0256デフォルトの名無しさん (ワッチョイ dd91-s3GQ)
2016/07/04(月) 21:40:05.02ID:/fDVk2WK00257デフォルトの名無しさん (アウアウ Sa25-dfX6)
2016/07/04(月) 22:02:44.49ID:1KMIHZLQaなぜそうなってるのかは考えようとせずとにかく自分の思い通りの動きをしないものが気に入らなくてしようがないんだろうな
0258デフォルトの名無しさん (アウアウ Sa61-gY7w)
2016/07/05(火) 00:43:22.40ID:+KIX5k5ra(1, "aaa") < (1, "bbb")
がtrueになるのはどうしてでしょうか、
< は未満だからfalseになると思うんですが
0259デフォルトの名無しさん (アウアウ Sa61-gY7w)
2016/07/05(火) 00:54:02.88ID:+KIX5k5ra0260デフォルトの名無しさん (ワッチョイ e0c9-dfX6)
2016/07/05(火) 00:56:10.26ID:ujdX1xtz0/// over tuples of `Comparable` elements.
///
/// Given two tuples `(a1, a2, ..., aN)` and `(b1, b2, ..., bN)`, the
/// first tuple is `<` the second tuple iff `a1 < b1` or
/// (`a1 == b1` and `(a2, ..., aN) < (b2, ..., bN)`).
public func <<A : Comparable, B : Comparable>(lhs: (A, B), rhs: (A, B)) -> Bool
0261デフォルトの名無しさん (ワッチョイ 613c-dfX6)
2016/07/05(火) 07:52:58.12ID:SiEQh+4z0配列.lastの所を勝手に書き換えようと思えば配列[配列.endIndex - 1 ]で書き換えられる訳だし、単に不便な関数って認識しかまだ無い
0262デフォルトの名無しさん (アウアウ Sa25-dfX6)
2016/07/05(火) 09:55:20.08ID:hBbm7EY+aどうしても必要ならエクステンション使って自分で書けばいいだろ
コード読んでて、例えば配列の要素を検索するような明らかに配列の更新が不要な場面で、配列の要素を書き換え可能なプロパティが使われてるとちょっと不安にならね?
0263デフォルトの名無しさん (ワッチョイ 613c-dfX6)
2016/07/05(火) 10:36:43.37ID:R42S1A9Q0配列で置換する場合って、再生成するコストかかるからじゃねーの?
lastだけgetで欲しいのに内部でいちいちコピーされてたら遅くてたまんねーよ。
0264デフォルトの名無しさん (ワッチョイ 613c-dfX6)
2016/07/05(火) 10:51:08.99ID:R42S1A9Q0あれだ、lastってnuallableだからemptyの時の動作が不定になるから・・・とか?
0265デフォルトの名無しさん (アウアウ Sa25-dfX6)
2016/07/05(火) 10:52:33.32ID:hBbm7EY+a0266デフォルトの名無しさん (ワッチョイ e0c9-dfX6)
2016/07/05(火) 11:42:26.00ID:ujdX1xtz0この気持ち悪さが分からんのはセンス無い
0267デフォルトの名無しさん (ササクッテロ Spc9-s3GQ)
2016/07/05(火) 12:10:57.64ID:7+5nTqy/p気分的な問題で要るという>>261の対立
>>261は宗教戦争するより、そういう教えもあるんだなと他宗教を許容しろや
0268デフォルトの名無しさん (スプー Sdb8-txjP)
2016/07/05(火) 12:46:13.40ID:/c9Dk8+hda%2=0
でaが2になるような気持ち悪さ?
0269デフォルトの名無しさん (ササクッテロ Spc9-oxCW)
2016/07/05(火) 13:35:55.55ID:Q726Zdnzpそんな言語思想で初心者がミスし辛い設計になっていると思う
俺もまだ勉強中なんで異論は認める
0270デフォルトの名無しさん (ワッチョイ 7a13-PhU/)
2016/07/05(火) 13:39:56.96ID:3gyxqmIo00271デフォルトの名無しさん (ササクッテロ Spc9-s3GQ)
2016/07/05(火) 14:13:12.69ID:7+5nTqy/p左辺に式を置く気持ち悪さが先行したぞ
0272デフォルトの名無しさん (スプー Sdb8-txjP)
2016/07/05(火) 20:43:09.63ID:t4nMSGt4da.mod2=0
0273デフォルトの名無しさん (ワッチョイ 613c-dfX6)
2016/07/06(水) 08:03:13.76ID:j5MI0TQH0.lastだけじゃ無く他にもいっぱいReadOnlyの奴あるからね!
と言ってもstartIndexとかendIndexは普通に納得なんだわ
.lastは『配列が空の時にnilが帰ってくるから』ってことで納得しようとも思ったけど
だったら他のやり方でもnilの可能性あるし.lastだけ{ get }にする意味があーもーマジわかんねーー
何でReadOnlyにしたのかコメントくらい書いといて欲しかったわ
0274デフォルトの名無しさん (ワッチョイ 9717-oxCW)
2016/07/06(水) 08:19:38.69ID:Dt4/s9Lw0は?
0275デフォルトの名無しさん (アウアウ Saf6-dfX6)
2016/07/06(水) 09:25:41.67ID:qN9AduM4a分かってねーのお前だけだから
0276デフォルトの名無しさん (ササクッテロ Spc9-s3GQ)
2016/07/06(水) 10:12:42.12ID:5t5icW6ip俺も昔はその宗教しか知らなかったからな
経験積んだら理解できるようになるぞ、小僧
0277デフォルトの名無しさん (ワッチョイ 1e4e-oxCW)
2016/07/06(水) 10:44:24.11ID:R/PvvFcq00278デフォルトの名無しさん (ササクッテロ Spc9-dfX6)
2016/07/06(水) 11:10:18.22ID:aB9cuo4xphoge.last = 100
hoge[hoget.count-2] = 200
hoge[hoget.count-3] = 300
とかするんか?
firstやlastには、配列を設計する時の定型的な役割があるんだけど、まぁこいつには分からないだろうな
0279デフォルトの名無しさん (ブーイモ MMb8-s3GQ)
2016/07/06(水) 11:20:47.29ID:sEtBaoStMコレクションによってはオブジェクトの参照で済む場合とコピーが必要になる場合があってifの仕様が統一出来ないから?
0280デフォルトの名無しさん (ササクッテロ Spc9-75Z/)
2016/07/06(水) 11:32:08.44ID:5t5icW6ipObjCにもreadonlyプロパティは大量にあるし、C#やGoの他言語もgetterだけのアクセサあるわけで
逆になんで俺得I/Fをextensionで追加、というのが理解できないのか聞きたい
0281デフォルトの名無しさん (ワッチョイ 9717-oxCW)
2016/07/06(水) 12:10:10.69ID:Dt4/s9Lw0>setできないようにしてるんじゃなくて、getできるようにしただけだからなぁ
ものすごく明快な解答
0282デフォルトの名無しさん (ワッチョイ ddc9-4ceA)
2016/07/06(水) 14:08:08.31ID:MAvTBHdK0NSKeyedArchiverで保存したいんですけど。
どうすればいいですか?
0283デフォルトの名無しさん (アウアウ Saf6-dfX6)
2016/07/06(水) 14:59:44.92ID:rM+MpLbOa0284デフォルトの名無しさん (ササクッテロ Sp1f-cFDw)
2016/07/07(木) 02:42:59.97ID:wKF073iRpextentionで改造してもいいんだけど意味不明な縛りのある言語って、、
やっぱ何らかの理由があると思うんだよなー
0285デフォルトの名無しさん (ワッチョイ 333c-6uh3)
2016/07/07(木) 04:50:54.78ID:iQ3oQoSL00286デフォルトの名無しさん (ササクッテロ Sp1f-oo3f)
2016/07/07(木) 07:32:54.39ID:XlMar3jmpで問題なかろう
数日付き合ったがこの宗教家はダメだな、、、
自分の信仰以外はセンスでの理解を拒否するから
setterが存在しない全てのプロパティになんで?を問いてくる
自分だけは信者じゃないと思ってる信者は怖い
まだ自覚あるアポー信者の方がマシだわ
0287デフォルトの名無しさん (ササクッテロ Sp1f-oo3f)
2016/07/07(木) 07:49:21.83ID:387AC1iypswiftは意識高い系言語だから仕方ないね
0288デフォルトの名無しさん (スプー Sdbf-oo3f)
2016/07/07(木) 08:07:01.67ID:sSwL/NX1dデータバスに接続される物は、必ずしもメモリとは限らないと言う事も当然理解できるであろう。
例えば、タイマが接続されているとして、
書きこみ(=setter)は、パラメータの設定
読み込み(=getter)は、読み出しデータには意味が無く、読み出し行為によって、タイマのリセット
と言う回路が組まれていたとしたら、書き込みに対して、非可逆な動作をする。
これも、理解できないのかな?
0289デフォルトの名無しさん (スプー Sdbf-zDc6)
2016/07/07(木) 08:21:06.48ID:8Wdaz3Psdそういう抽象化ってだけだ。
[0]や[count-1]のgetは[1]や[2]などに比べてわざわざ抽象化したいぐらい利用頻度が高いけど、setの場合はそうではないから抽象化がされていない。
必要性が低い操作を作らないのは、直交性と疎結合を守るために大事なことだよ。
0290デフォルトの名無しさん (ブーイモ MM9f-oo3f)
2016/07/07(木) 08:31:54.39ID:ls5vBuF8MユーティリティクラスのAPI設計者なら、getter作った時点でsetterどうしようかなって普通は考えるだろ。
そのときに何らかの意図や判断があってsetter外したのだと思うのだけど、単にgetter用意しただけで納得できるとか、普段から何も考えてないとしか思えん。
0291デフォルトの名無しさん (ブーイモ MM9f-oo3f)
2016/07/07(木) 08:41:15.17ID:y9gRN/nxMあくまでlastがどう意図でRead Onlyになったのか知りたいだけ。
0292デフォルトの名無しさん (ワッチョイ ef4e-bT3c)
2016/07/07(木) 08:43:45.84ID:Y6ZZl/xS0よく使うfirstとlastにはnilを返すgetterがある。
0293デフォルトの名無しさん (ワッチョイ 4720-zDc6)
2016/07/07(木) 08:55:53.91ID:SN7TGrpx0ここで喚いても答えなんてわからんだろ
生みの親に直接聞いてこいよ
0294デフォルトの名無しさん (アウアウ Saff-7VFp)
2016/07/07(木) 10:08:20.85ID:OAHH8Qcfaプロパティ(/メソソッド)だけど、firstやlastのセッターの利用が想定される一般的な場面なんてない
それはもうソフトウェア設計者としての根本的なセンスの問題
分かる人はすぐピンとくるし、分からん奴は何で?と思うぐらいの感覚なんだろう
リードオンリーなクラス(/構造体)属性に無闇にセッターはつけるのは全体的なアクセシビリティーのポリシーに関する問題もあるが、もちろん、コンパイル時のコスト、
バイナリーサイズへの影響なども考慮する必要がある。OSが提供する広く使われるライブラリであれば尚のこと極力無駄は省かなければならない
抽象化とはそういうことの積み重ねであって、例えば設計者がベースクラスに付与した属性の微妙なずれが、継承先のクラスや、それに委譲するクラスの全体的なポリシー
に多大な影響を与えることになる。
例えばSwiftの構造体は値型だけどパフォーマンスを考慮してCopy on writeの設計にしてあり、一つのセッターの存在がバイナリー全体に影響を与える
どうせだしついでにセッターもつけとくか的な発想でつけるようなものではない
0295デフォルトの名無しさん (アウアウ Saff-7VFp)
2016/07/07(木) 10:12:29.03ID:OAHH8Qcfa属性のちょっとした変更が裏側で与える影響は見た目以上に大きいのだよ
0296デフォルトの名無しさん (ワッチョイ 333c-7VFp)
2016/07/07(木) 10:21:00.09ID:TrKbkRd20なんか俺一人で暴れてる感じになってたから一応。
>>293
>>291は俺じゃないんだがマジで聞いてみたいわ。イライラする。
明確な答えが出ないってことはみんなこういうの引っかからずに受け入れちゃうんだな。。
あと、多分だけど答え出たかも。
.lastってコンピューテッド・プロパティなんだわ。だからgetしかできない。
setできたとしても配列[count-1]にsetされるわけではなくて”var last”にsetされちゃう。
setter{}に配列[last]へジャンプしてセットするプログラムを書くこともできるかもしれないけど(できない?)面倒だから作ってないんじゃないかな。
、、と自分がスッキリするためにこじつけた
0297デフォルトの名無しさん (ワッチョイ 333c-7VFp)
2016/07/07(木) 10:27:08.84ID:TrKbkRd20悪い、書いてる間に更新されてて見てなかった。
そういう感じなんだろうなと思って考えてたけど、そこまで詳しくないから俺にはその路線では解に到達できなかったよ。
0298デフォルトの名無しさん (オイコラミネオ MM3f-zDc6)
2016/07/07(木) 10:30:22.32ID:Jhs3qZTiM聞いてきなよ
0299デフォルトの名無しさん (スプー Sdbf-zDc6)
2016/07/07(木) 11:45:22.91ID:8Wdaz3Psdreadonlyにする理由やsetterを付けない理由があるわけじゃない。
setterを付ける理由が無いんだよ。
0300デフォルトの名無しさん (ワッチョイ 333c-7VFp)
2016/07/07(木) 11:58:28.99ID:TrKbkRd20言うていい?
配列の最初と最後って結構弄ること多くないか?俺だけ?
まあもう俺は腹に落としたからいいんだけど。
0301デフォルトの名無しさん (スプー Sdbf-zDc6)
2016/07/07(木) 12:11:22.45ID:8Wdaz3Psd配列の最初と最後が他の要素に比べて差し替えることが多いとは思えない
配列というデータ構造を選んだ時点でランダムアクセスの機能を必要としてるんだから
最後を差し替えことが多いならstackを、最初を差し替えることが多いならqueueを使うべきだね
0302デフォルトの名無しさん (ワッチョイ c35b-oo3f)
2016/07/07(木) 12:18:17.48ID:VBlRVTQq0特に初学者にとって直感的でない動作になってしまうんではないかな
0303デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 12:19:00.86ID:XegmBRIM0何度か言ってるけどlastが因→果の一方向のAPIだからってただそれだけや
結果から逆算するようなAPIは、APIデザインの一般論として普通やらない
てかまずlastというAPIの意図を理解できてないと思われる
ただ[count-1]の値を変更することが、last {get} に対する対象な操作であるということがまず自明ではない
「最後の要素を変更するショートカットAPI」を新たに付け加えるとしても、現状のlast { get }に対するlast { set }にするのではなく、別の新しいchangeLastItemメソッドなりにするべき
0304デフォルトの名無しさん (ササクッテロ Sp1f-KEJA)
2016/07/07(木) 12:44:46.38ID:AxQVBhdqpちょっとズレてる
原因ありきではなくて目的ありきなんだよ
そもそもfirstやlastにセッターとして利用は想定されていない
0305デフォルトの名無しさん (ワッチョイ d310-GJIm)
2016/07/07(木) 13:09:49.85ID:q0aQglkO0どんなケース?
配列の先頭や末尾を削除したり、それぞれの先にさらにもう一つ要素を付けるというのはよくあるけど、単純に要素を置き換えるというケースは個人的にはあんまり遭遇しないなぁ。
それか、置き換えるなら先頭、末尾に限らずどこも置き換える感じになるんだよなぁ。
0306デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 13:26:01.08ID:XegmBRIM0別にずれてないっしょ
別の見方、経路で説明してくれてるだけ
本来一方向だから、無理矢理セッター側を考えるとおかしなことになるよっていう具体的な指摘
0307デフォルトの名無しさん (アウアウ Saff-xV+3)
2016/07/07(木) 13:42:38.73ID:GsSIn1Kea0308デフォルトの名無しさん (アウアウ Saff-xV+3)
2016/07/07(木) 13:47:14.09ID:GsSIn1Kea0309デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 13:59:51.41ID:XegmBRIM0順番が違う
lastは「最後の要素を返す、ただし配列が空ならnilを返す」プロパティ
これを逆にセッターとしてまじめに実装するなら「最後の要素を(右辺値)にする、ただし(右辺値)がnilなら配列を空にする」でなくてはならない
これはおかしい
では気を利かせて「ただし(右辺値)がnilなら何もしない」or「…nilなら削除する」とでもするか?
そうするとAPIの一貫性、対称性を破壊するし、「気を利かせた」部分の「何もしない」や「削除する」という動作が非常に予想し難くなる
なぜこういう困難が発生するかといえば、つまるところlastというAPIが因→果の一方向のread onlyなAPIとして意図されているからである
こういうことを>>302は指摘してくれてる
0310デフォルトの名無しさん (ワッチョイ ef4e-bT3c)
2016/07/07(木) 14:09:48.71ID:Y6ZZl/xS0replaceLastかappend/addだろ。
firstならreplaceFirstかinsertFirstになる。
どちらも、配列が空でも最初/最後の要素にセットされるようにすればいい。
「last」だけってことにはならない。
0311デフォルトの名無しさん (アウアウ Saff-xV+3)
2016/07/07(木) 14:14:25.91ID:GsSIn1Kea「最後の要素を(右辺値)にする、ただし(右辺値)がnilなら配列を空にする」でなくてはならない
だからこの発想がおかしくない?
lastがnilを返すのは配列が空の場合だけじゃなくて、配列の最後の要素がnilの場合も当然nilを返す
だから、nilの代入 = 配列を空にする って想定がナンセンス
そもそもremoveLast()ってメソッドもあるのに
0312デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 14:24:16.41ID:XegmBRIM0>lastがnilを返すのは配列が空の場合だけじゃなくて、配列の最後の要素がnilの場合も当然nilを返す
ちがうぞ
var a: [Int?] = [1,2,3,nil]
print(a.last) // Optional(nil)
a = []
print(a.last) // nil
最後の要素がnilの場合、nilではなく入れ子のnilを返す
>そもそもremoveLast()ってメソッドもあるのに
だから議論の順番が違う
0313デフォルトの名無しさん (アウアウ Saff-xV+3)
2016/07/07(木) 14:42:40.56ID:GsSIn1Keaa[a.count-1] = nil
ってやってnilを代入できるだろ
a.last = nil なら配列を空にしようって発想は俺にはないな
0314デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 14:55:50.57ID:XegmBRIM0だから議論の順番が違うって言ってんだろ
無理矢理セッターを作ったらどんな奇妙なことになるかって話をしてるんだから
>a[a.count-1] = nil
>ってやってnilを代入できるだろ
それも論点がズレてんぞ
lastのセッターがもしあるならという想定で a[a.count-1] = nil と同等なのは、a.last = .some(nil) であり、 a.last = nil ではありません
[Int?]の場合lastの型はInt??です
議論の流れをつかめないうえにOptionalの理解もあやふやみたいだから、言ってもどうせ理解できんのだろうけど…
0315デフォルトの名無しさん (アウアウ Saff-xV+3)
2016/07/07(木) 15:11:50.38ID:GsSIn1Kea普通の感覚だろうと俺は思うんだけど、そこに、やれその場合は配列を空にしようとか、要素を削除しようとか
の想定をして話を奇妙にしてるから、俺はそのことを>>302にレスしたんだけど
横から勝手に君が>>302の代弁を始めたんじゃん
そもそも>>302の本心なんて、>>302じゃない君にはわからんだろうと思うんだけど、そこも俺には奇妙だよ
実際、君の例のaの要素にnilを代入する場合は、a[3] = nil でオッケーなんだし
シンプルに考えればいいんじゃねと思うけどね
ま、なんにせよlastのセッターはいらんけどね
俺も君と議論するんじゃなくて、>>302のレスが聞きたいよ
0316デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 15:43:26.22ID:XegmBRIM0それは普通の感覚じゃなくてOptionalをよく分かってない人の感覚
さらっとむちゃくちゃなOptionalの剥がし方を要求してる
>>302の考えを勝手に代弁するかたちになったのは、>>302に対してもごめんなさい
自分の考えを(あてこすって)勝手に述べただけでした
0317デフォルトの名無しさん (アウアウ Saff-xV+3)
2016/07/07(木) 16:31:52.75ID:GsSIn1Keavar a:Array<Int?> = [10, 20, 30]
こういう配列の最後の要素にlastを使って別の値を設定する場合、
例えば、100なら、
a.last = 100
となるだろう
では、nilを代入したい場合は?
a.last = nil
と書くことを想定するのが自然だと思わない? lastの返却値はオプショナル型だけど、この代入でオプショナル型の無茶苦茶な剥がし方をしてるなんて感覚はない
それ以外にどう書くの?
a.last = nilで配列を空にしようとか、要素を削除しようなんて発想は出てきにくいと思うけどね
var b: Int??
b = 100
print(b! == 100) // true
print(b!! == 100) // true
0318デフォルトの名無しさん (アウアウ Saff-xV+3)
2016/07/07(木) 16:48:44.78ID:GsSIn1KeaDictionaryの場合は、キーがnilの要素は受け付けない(キーはHashableプロトコルに適合していることが条件なので)ので、nilの代入で要素の削除というのはすんなり受け入れられる
0319デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 17:09:56.93ID:XegmBRIM0extension Array {
var myLast: Element? {
get {
// 空ならnilを返す
return count == 0 ? nil : self[count - 1]
}
set {
if let newValue = newValue {
self[count - 1] = newValue
} else {
// nil なら配列を空にする
self.removeAll()
}
}
}
}
0320デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 17:10:45.49ID:XegmBRIM0a.myLast = 4
print(a) // [Optional(1), Optional(2), Optional(4)]
print(a.last) // Optional(Optional(4))
a.myLast = .some(nil)
print(a) //[Optional(1), Optional(2), nil]
print(a.last) // Optional(nil)
a.myLast = nil
print(a) // []
print(a.last) // nil
var b: [Int] = [1,2,3]
b.myLast = 4
print(b) // [1,2,4]
print(b.last) // 4
b.myLast = nil
print(b) // []
print(b.last) // nil
見て分かる通り、セッター側とゲッター側で対応が取れており一貫性がある
0321デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 17:11:22.27ID:XegmBRIM0var a: [Int?] = [1,2,3]
a.last = 4 // (1)
a.last = .some(nil) //(2)
a.last = nil // (3)
var b: [Int] = [1,2,3]
b.last = 4 // (4)
b.last = nil // (5)
0322デフォルトの名無しさん (アウアウ Saff-xV+3)
2016/07/07(木) 18:18:31.26ID:KmYG+hkAa俺の想定では、(2)と(3)はどちらもnil設定、(5)は実行時例外もしくはコンパイルエラーだよ
少なくとも(3)、(5)で配列のクリアは感覚的にありえない
ゲッタが空の配列からnilを返すから、nilの代入なら空にするということに一貫性があるとは思えないし、そういう発想もない
0323デフォルトの名無しさん (ワッチョイ 333c-7VFp)
2016/07/07(木) 19:05:21.61ID:TrKbkRd20まあ、ミスっただけだとは思うが最後の”nilなら配列を空にする”ってのはおかしいな。
nilでも最後尾のエレメントがあるところに代入しないといけない。
nil代入できない場合はXcodeがエラー出してくれるからif let 自体いらないと思う。
lastと[count-1]は同じ動作じゃないとおかしい。
0324デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 19:09:15.66ID:XegmBRIM0>.some(nil)ってのはどっからもってきたのかしらんけど
話にならんなぁ
ちゃんと意味のある外側のOptionalを無視しようとしてるから、.some(nil)はどっから持ってきたのとか言っちゃう
var a:[Int?] = [1,2,nil]
var b:[Int?] = []
このとき a.last と b.last には何が入ってる?
a.last == nil は true になるか?
>>323
お前もかw
もっと勉強しろ
あと感覚的にnilで空にするべきなんて一言も言ってないだろ
getの挙動から論理的に帰納するなら、nilで空になるべきではないかって言ってんだよ
そしてそれが奇妙に思えるっていうお前の感覚には別に反論してないよ
でも、少なくとも a.last = nil と a[a.count-1] = nil が同等であるべきという素人考えは受け入れられないわ、というだけ
ほんとすぐに議論を見失うやつだなあ
0325デフォルトの名無しさん (ワッチョイ 333c-7VFp)
2016/07/07(木) 19:11:08.47ID:TrKbkRd20ごめんちょっと理解できない。
・配列=ランダムアクセエスって何で?
・stack/queueって何ですの?
0326デフォルトの名無しさん (ワッチョイ 333c-7VFp)
2016/07/07(木) 19:14:36.22ID:TrKbkRd20ごめん意味わかった!
でもそれ[count-1]でやった時どうなるんだっけ?
0327デフォルトの名無しさん (ワッチョイ 333c-7VFp)
2016/07/07(木) 19:29:35.63ID:TrKbkRd20やってみた、2つの意味のnilを混同してnilが帰ってきたわ。
まあ、範囲外に代入しようとしたらエラーメッセージ出るし
まだ不都合は感じてないわけだけども。。
0328デフォルトの名無しさん (ササクッテロ Sp1f-xV+3)
2016/07/07(木) 20:15:40.77ID:AxQVBhdqp.some(nil) が、配列の要素のオプショナル型にnilが入ったものだってのは分かってるけど、それを擬似コードじゃなくて
コンパイルが通る具体的なコードで示してほしかったって意味で、「どっから持ってきたのかしらん」ってかいた。
会話がかみ合わないなw それとも俺がオプショナルを理解してないことにしたいのか
そもそもの話の発端は、>>302が、lastにセッターを設けると、nilの代入で配列を空にすることが実装の候補になりうるという話だったから、俺はそれはずれてるし奇妙だと言った。
そして君は、それは感覚がおかしいといい、空の配列からnilが返るなら、nilの代入で配列を空にするのが一貫性があるといい、今度は、俺がnilの代入で空にすることをおかしいと思う感覚には別に反論しないという。
論点と主張がずれてきてんのは君の方だよ。あと言葉遣いも
0329デフォルトの名無しさん (スプー Sdbf-zDc6)
2016/07/07(木) 21:27:10.05ID:8Wdaz3Psd予想外。これが理解出来ないって言われたら、配列型として備えるべき最低限の機能について話すことなんかできないわな。
0330デフォルトの名無しさん (スプー Sdbf-zDc6)
2016/07/07(木) 21:29:14.04ID:8Wdaz3Psd0331デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/07(木) 21:56:35.50ID:XegmBRIM0まだやんのw
擬似コードじゃなくてコンパイル通るコードしか示してないぞ
.some(nil)の書き方は3.0のもので2.xでは大文字の.Some(nil)だけど修正する箇所はそこだけで3.0でも2.xでも通るはず
>>320だけちょっとミスってたけどコード中の
print(a.last)、print(b.last)はぜんぶ
print(a.myLast)、print(b.myLast)で、setしたものとその後にgetしたものを比較する意図だった
(コンパイルも通るし、getの中身はlastもmyLastも同じなので結果も変わらない)
たぶん咬み合わない理由は、俺は論理的こうあるべきということと、直感からこうあってほしいということをずっと分けて考えてるけど
あんたはこの2つをごっちゃにしてる、というか直感で設計するということしか考えてなさそうなことと
あと >>308 の時点からずっと、配列の要素がOptionalの場合に、要素として入ってるnil、lastから返されるnil、lastから返される.some(nil)、の3種類のnilをごっちゃにしてたっぽいこと(否定するんだろうけど)なんだろうな
ということで俺の中で決着ついたから俺はもういいわw
0332デフォルトの名無しさん (ササクッテロ Sp1f-xV+3)
2016/07/07(木) 23:31:04.62ID:AxQVBhdqp.Some(nil)という書き方は知らなかった。てっきり擬似コードかと..すまない。
言いたいことはわかった。まぁ俺が感覚だけに頼った希望的意見だけ述べてたんだろう。その点も謝る。>>302もそういう観点から言ったのだとしたら同じく謝るよ。
まぁそれでも、空の配列からnilが返るからnilの代入で配列を空にしようという発想が受け入れられないという、lastプロパティのコンテキストを無視した論理的でない直感的な主張は曲げれないんだけど。
あ、俺ももういいからレスはいらないよ
>>330
a.lastは配列の最後の要素のオプショナル型を返す。配列が空ならnilを返す。
a[a.count-1]は配列の最後の要素を返す。配列が空なら例外を投げる。
型が違うから両者の == 比較はtrueにはならない。
0333デフォルトの名無しさん (ワッチョイ dbd4-zDc6)
2016/07/08(金) 01:00:36.86ID:M2+Y2VsA0比較演算子は自動unwrapされると聞いたが、二重optionalの場合はどうなるんだ?
0334デフォルトの名無しさん (ササクッテロ Sp1f-cFDw)
2016/07/08(金) 02:40:48.84ID:YUHkqKpPp分かってるんなら分かりやすく完結におしえてやれよな
それができてないから無駄にスレが伸びてるんだぜ?まったく。
0335デフォルトの名無しさん (ササクッテロ Sp1f-cFDw)
2016/07/08(金) 09:45:15.60ID:fs/TH3E9p0336デフォルトの名無しさん (アウアウ Saff-7VFp)
2016/07/08(金) 10:33:42.65ID:QoN3Vbr1avar a:Int???
var b:Int???
var c:Int???
a = nil // nil
b = .Some(nil) // Optional(nil)
c = .Some(.Some(nil)) // Optional(Optional(nil))
if let x = a { print (x) }
if let y = b { print(y) } // nil
if let z = c { print(z) } // Optional(nil)
bはないだろうけど、cの書き方が正解なんかな。気持ち的にはaだけど
でも下の2つは結果が同じなんだよな
a = 10
if let x = a { print(x) } // Optional(Optional(10))
c = .Some(.Some(10))
if let z = c { print(z) } // Optional(Optional(10))
頭こんがらがってきた
オプショナルの連鎖はほとんど使わないけど、配列が要素になってる配列から、a.last.last.last なんて取り出しかたする時に出てきそうだ
0337デフォルトの名無しさん (ワッチョイ 333c-6uh3)
2016/07/08(金) 11:49:16.05ID:WHa+AvWD00338デフォルトの名無しさん (ワッチョイ 333c-77u/)
2016/07/08(金) 12:31:10.68ID:UF+RGGyc0「現象Bはおかしい(だからお前は間違ってる)」と言っておかしくなってる。
だから、
> まぁそれでも、空の配列からnilが返るからnilの代入で配列を空にしようという発想が受け入れられないという、lastプロパティのコンテキストを無視した論理的でない直感的な主張は曲げれないんだけど。
というような現象Bを引き起こす命題A
0339デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/08(金) 13:02:17.95ID:goWM3aH00http://i.imgur.com/oD9dIpA.png
a、b、c全部別の意味を表すから、どれが正解かは場合による
10と.some(.some(10))で結果が同じなのは、10と書いてもコンパイラが.some(.some(.some(10)))に自動的にラップしてくれるから
なぜそんなことが許されるかというと、Int???型で「最終的に値が存在する状態」というのは.some(.some(.some(10)))以外にあり得ず、曖昧さが入り込む余地が無いから
だから10、.some(10)、.some(.some(10))、.some(.some(.some(10)))どう書いても全部結果は同じになる
本来なら.some(.some(.some(10)))って書かないといけないわけだけど、それ以外に解釈のしようがないんなら10って書けたほうが楽で便利だよねってこと
一方で、nilには外から何番目ののOptionalでnilなのかによって意味が異なってくるので、勝手にラップされるようなことはない
だからnilなのか.some(nil)なのか.some(.some(nil))なのかを、プログラマの責任できちんと意思表示しないといけない
// Swift 2.x
var a: Int???
a = 1
print(a) // Optional(Optional(Optional(1)))
a = .Some(1)
print(a) // Optional(Optional(Optional(1)))
a = .Some(.Some(1))
print(a) // Optional(Optional(Optional(1)))
a = .Some(.Some(.Some(1)))
print(a) // Optional(Optional(Optional(1)))
a = nil
print(a) // nil
a = .Some(nil)
print(a) // Optional(nil)
a = .Some(.Some(nil))
print(a) // Optional(Optional(nil))
0340デフォルトの名無しさん (ワッチョイ fbe6-jxRo)
2016/07/08(金) 13:46:28.78ID:t2q9bwEM0基本的なことを少しだけ。
Optional型はenum定義で、NoneとSome(T)が含まれています。
だから、.Noneと.Some(T)の値を持てます。
実際の値は、.Noneはnil、.Some(T)は指定されたデータ型の値です。
たとえばInt型のOptional(データ型の表記はInt?)だと、
.None // 値はnil
.Some(i) // iはInt型で、値は… -1, 0, 1, 2, …
のどちらかになります。
で、本題だけど、、、、、.Some(nil)って、何でしょうか?
Optional型のenum定義には含まれていません。
コンパイルエラーになるはずです。
0341デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/08(金) 14:07:40.43ID:goWM3aH00自動アンラップなんてされないんじゃないかな
危険だし
もしかしたら仕様が定まってない昔のSwiftでは、そういうことしてた時期もあるのかもしれないけど
非Optional同士の比較演算子とは別に、Optional同士の比較演算子が定義されてるっぽい
Int同士の比較なら↓の類が使われて
public func ==(lhs: Int, rhs: Int) -> Bool
Int?同士の比較なら↓の類が使われる
public func ==<T : Equatable>(lhs: T?, rhs: T?) -> Bool
今気づいたけどOptional同士の大小比較では常にnilが小さいことになるのか
var x: Int? = nil
x > 9 // false
x < 9 // true
x < Int.min // true
Int同士の比較では起こりえないInt.min未満って状態が、Int?同士の比較ではありえるんだな
なお、さらっと x < 9 とか書けるのは、>>339の理屈で自動的に.some(9)にラップされてInt?同士の比較として
public func <<T : Comparable>(lhs: T?, rhs: T?) -> Bool
で比較されてるからであって、x が勝手にアンラップされて
public func >(lhs: Int, rhs: Int) -> Bool
で比較されてるわけではない
二重Optional同士の比較ではそもそも演算子が定義されてなくてコンパイルエラーになるな
一重Optional同士なら値<=>値、値<=>nil、nil<=>nilの3パターンを考えれば住むのに対して
二重Optional同士だと値<=>値、値<=>.Some(nil)、値<=>nil、.Some(nil)<=>.Some(nil)、.Some(nil)<=>nil、nil<=>nilの6パターン
三重Optional同士だと10パターンと階乗のオーダーで複雑さが増していくからやってらんないし
true、falseの2値にむりやり帰着してしまうのもどうかってはなしだし
仮に実装したとしても使う側が使いこなせないんだろう
結局ネストしたOptionalを比較したいなら、自力でアンラップしていって、それぞれの場合に対して
自分のやりたいように対応してくださいねっていう当たり前の結論になるんじゃなかろうか
0342デフォルトの名無しさん (アウアウ Saff-7VFp)
2016/07/08(金) 14:27:56.31ID:7q2elFN+aおぉ分かりやすい Thx!
>>340
Int? 型に対して.Some(nil)の代入はエラーになるけど、
Int?? 型に対してはエラーにならないよ
Int?? だとTがInt?になってnilも受け入れるからじゃね?
0343デフォルトの名無しさん (ワッチョイ c7c9-7VFp)
2016/07/08(金) 14:36:01.17ID:goWM3aH00>a.last.last.last なんて取り出しかたする時に出てきそうだ
実際それするなら a.last?.last?.last でただの一重Optionalとして扱える
ネストしたOptionalは実際扱いづらいからOptionalチェーンやflatMapがある
var a1: [[Int]] = [[1]] // 外側も内側も値が入ってる
var a2: [[Int]] = [[]] // 外側には値が入ってるけど内側は空
var a3: [[Int]] = [] // 外側がそもそも空
// Optionalチェーンを使った場合
print(a1.last?.last) // Optional(1)
print(a2.last?.last) // nil
print(a3.last?.last) // nil
// mapを使った場合
print(a1.last.map { $0.last }) // Optional(Optional(1))
print(a2.last.map { $0.last }) // Optional(nil)
print(a3.last.map { $0.last }) // nil
// flatMapを使った場合
print(a1.last.flatMap { $0.last }) // Optional(1)
print(a2.last.flatMap { $0.last }) // nil
print(a3.last.flatMap { $0.last }) // nil
結局あるのか無いのかそれだけ教えてよ!ってときにはOptionalチェーンやflatMap使って、ただのOptionalとして取り出せばいいし、
どの段階で無いのかが問題になる場合(上の例ならa2とa3を区別して処理したい場合)はmapやif letのネストで細かく処理すればいい
0344デフォルトの名無しさん (ワッチョイ 5b3c-Sdrj)
2016/07/08(金) 20:40:49.64ID:BF5P4QnA0if let v2:Int?? = v as? Int?? {
print(v2)
}
}
var x: Int?? = Optional(100)
a(x)
aの中から意外と取り出せない100
間者がいれば取れるのだけども
0345デフォルトの名無しさん (アウアウ Saff-7VFp)
2016/07/09(土) 00:50:50.23ID:swqkcQV5afunc a(v:Any??){
if let v2 = v as? Int? {
if let v3 = v2 {
print(v3)
}
}
}
0346デフォルトの名無しさん (スプー Sdbf-oo3f)
2016/07/09(土) 01:01:05.07ID:Jmc9teYmdと
宣言
の違い、解っているかな?
0347デフォルトの名無しさん (アウアウ Saff-7VFp)
2016/07/09(土) 01:08:09.88ID:swqkcQV5a端的に言うと、定義は手順や属性の設計、宣言は具現化。。。かな?
0348デフォルトの名無しさん (スプー Sdbf-oo3f)
2016/07/09(土) 02:34:28.20ID:Jmc9teYmdメモリを確保しないのが宣言。
関数定義っていうでしょ?
メモリを確保するのが定義。
但し、Cの時代の話。
0349デフォルトの名無しさん (アウアウ Saff-7VFp)
2016/07/09(土) 03:02:20.33ID:swqkcQV5aでも、プロトコルを定義する(メモリは確保しない)とか、変数を宣言する(メモリを確保する)とかも言わない?
0350デフォルトの名無しさん (スプー Sdbf-oo3f)
2016/07/09(土) 07:20:15.38ID:Jmc9teYmd0351デフォルトの名無しさん (ワッチョイ dbd4-zDc6)
2016/07/09(土) 07:50:17.53ID:ck0r9z2G00352デフォルトの名無しさん (ササクッテロ Sp1f-oo3f)
2016/07/09(土) 08:43:26.52ID:qOp1GKBwp0353デフォルトの名無しさん (ワッチョイ 333c-6uh3)
2016/07/09(土) 08:45:04.36ID:naHuvehx00354デフォルトの名無しさん (アウアウ Saff-7VFp)
2016/07/09(土) 10:56:55.07ID:YVUnGUhVaマクロ宣言って言うのが正しいのかな...でも、macro definitionって普通に使われてるけどな
スレチだし、どーでもいいか
0355デフォルトの名無しさん (ワッチョイ 333c-7VFp)
2016/07/09(土) 14:35:18.36ID:GaYdspvr01行で書くとしたら↓になる?メンドクセーんだけど。
func a(v: Any){
if let v2: Int = Mirror(reflecting: v).descendant("Some") as? Int {
print("v2 = ¥(v2)")
}
}
0356デフォルトの名無しさん (ササクッテロ Sp1f-7VFp)
2016/07/09(土) 14:49:08.41ID:yTE6BkItpなんかすごく便利そうだけど、この関数の有効な利用シーンが思いつかないw
0357名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ 5b3c-QOj8)
2016/07/10(日) 19:52:51.98ID:by1+C4n70説明不足でごめんね
色んなデータ元や関数経由で雑な感じに渡ってきたAnyから
Optionalをどう剥ぎ取るか、というネタね
SQLバインドやJSON化みたいな感じの
//Optionalが扱えないa
func a(v:Any){
let v2 = v as Any?
switch v2 {
case nil : print("is nil")
case let v2 as Int : print("int : \(v2)")
case let v2 as Double : print("double: \(v2)")
case let v2 as String : print("string: \(v2)")
case let v2 as [Any] : print("array : ["); v2.forEach(a); print("]")
default: print("不明 : \(v2)")
}
}
a("100")
a(200)
a(300.0)
a(Optional(Optional(Optional("400"))))
a(Optional(Optional(Optional(500))))
a(Optional(Optional(Optional(600.0))))
a([700,701,"702"] as [Any]?)
a(800 as Int??)
a(nil as Int??)
0358デフォルトの名無しさん (ワッチョイ 5b3c-QOj8)
2016/07/10(日) 20:00:00.24ID:by1+C4n700359デフォルトの名無しさん (ワッチョイ 5b3c-QOj8)
2016/07/10(日) 20:14:42.05ID:by1+C4n70ちなみに間者というのはOptional型に潜り込ませたunwrapのこと
protocol OptionalExt{ func unwrap() -> Any? }
extension Optional : OptionalExt {
func unwrap() -> Any? {
switch self {
case .None: return nil
case .Some(let v): return v
}
}
}
func unwrapAll(v:Any) -> Any? {
if let v = v as? OptionalExt {
let vu = v.unwrap()
return vu == nil ? vu : unwrapAll(vu!)
}
return v
}
func a(v:Any){
let v2 = unwrapAll(v)
以下省略 >>357のswitch以下と同じ
0360デフォルトの名無しさん (ワッチョイ ef93-cFDw)
2016/07/13(水) 22:28:12.19ID:KOAv66+w00361デフォルトの名無しさん (ワッチョイ e53c-VzEl)
2016/07/15(金) 23:20:09.58ID:AIXYJWQf0呪われるぞ
0362デフォルトの名無しさん (ワッチョイ e53c-dnI1)
2016/07/16(土) 01:29:59.85ID:a1mINJrC0mutatingとstaticを同時に使えないのも意味がわかりません。
0363デフォルトの名無しさん (アウアウ Sade-dnI1)
2016/07/16(土) 01:45:32.16ID:jcqV7wSPa0364デフォルトの名無しさん (ササクッテロ Sp3d-4wno)
2016/07/16(土) 12:35:23.80ID:0sBHURfipコンパイラがアホでプロパティ可変が判断できてないことによる制約
ワーニング出すくらいには判断出来てるからその内仕変入るんじゃね?
0365デフォルトの名無しさん (アウアウ Sade-dnI1)
2016/07/16(土) 12:53:48.80ID:eK9SGdvra0366デフォルトの名無しさん (ワッチョイ e53c-8xJT)
2016/07/16(土) 14:05:05.89ID:n9fWXu3Q0値を変えるなら、新しいstructを作り直せって発想
mutatingはその基本ルールを無視してプロパティを変更できる
巨大なメモリサイズを持つstructなら、コピーによるデメリットを回避できる
mutatingはインスタンスに作用するキーワードだから、staticと同時に使う必要がない
0367デフォルトの名無しさん (ササクッテロ Sp3d-4wno)
2016/07/16(土) 14:28:57.87ID:zUgSRc7zpだったら let, var の宣言の方で調整させろよ、、、と思いますがな
メソッドの修飾に入れるのは別の理由じゃねないかね
まぁアポー様は常に正しいから変わったら変わった時に手のひら返すだけだけど
0368デフォルトの名無しさん (ワッチョイ bb3c-PISr)
2016/07/16(土) 15:07:35.51ID:OR/oafOw0C++でのconstメンバ関数やmutable修飾子と概ね同じ目的
なのでコンパイラでやれたとしても、override同様に表明することに意味がある
property-set(メンバ直含む), subscript-set, mutable関数
この3つはvar変数でしか使えない
前2つはシンタックスから判別出来るけど関数は表明が無いと使う側が判別出来ない
0369デフォルトの名無しさん (ワッチョイ bb3c-PISr)
2016/07/16(土) 16:17:47.48ID:OR/oafOw0letによる不変化がインスタンス領域に適用されないため
区別する状況自体が存在しないから
0370デフォルトの名無しさん (ササクッテロ Sp3d-4wno)
2016/07/16(土) 16:28:23.70ID:zUgSRc7zpC++やJavaのレガシー言語では納得だけど
Go, Rustのようなモダン言語のモノじゃないなぁ
Swiftはモダン文法が唯一のメリットだから頑張って欲しいネ
0371デフォルトの名無しさん (ワッチョイ bb3c-PISr)
2016/07/16(土) 17:00:34.12ID:OR/oafOw0Goはそもそもlet相当の不変化修飾が無いそうだよ
Rustはimpl時の&mut修飾がそのままswiftのmutating修飾と同義
0372デフォルトの名無しさん (アウアウ Sade-dnI1)
2016/07/16(土) 17:46:14.27ID:WK2UoWkAa0373デフォルトの名無しさん (ワッチョイ bc2b-RgRT)
2016/07/16(土) 22:35:56.74ID:2Vgg5+B40プロパティのset/getを排他制御するときはDispatchQueueするしかない?
objc_sync_enter / objc_sync_exit はないと思ってる
0374デフォルトの名無しさん (ワッチョイ bb3c-PISr)
2016/07/16(土) 23:22:38.00ID:OR/oafOw0objc_sync_enter何で駄目なん?
dispatch_semaphore_waitでも出来るけど上記が駄目なら同様かな
単なるset/getにディスパッチはちょっとアレな気はするけど
GUI絡んだらどうせディスパッチになるし割り切りでも良いと思う
0375デフォルトの名無しさん (ササクッテロ Sp3d-4wno)
2016/07/17(日) 07:28:57.69ID:a+huTauMpだからメソッドへの修飾は冗長ってことだ
0376デフォルトの名無しさん (ワッチョイ d0c9-dnI1)
2016/07/17(日) 13:10:36.99ID:rRft+gba00377デフォルトの名無しさん (ワッチョイ bc2b-RgRT)
2016/07/18(月) 09:32:57.19ID:qKKDoyHh0何となくobjcって書きたくないのと、処理が遅い
DispatchSemaphore知らなかったから試してみる、サンキュー
0378デフォルトの名無しさん (ワッチョイ 7323-+ugl)
2016/07/25(月) 08:52:42.29ID:arfROtSe00379デフォルトの名無しさん (ワッチョイ f77b-9RnF)
2016/07/27(水) 00:32:41.22ID:FIXZuIkL0データが20個あり、tableViewのnumberOfRowsInSectionの引数を含む関数からはデータの個数「20」が返っているにもかかわらず、
tableViewのcellForRowAtIndexPathの引数を含む関数は16回しか呼ばれずに
データの挿入が16個で、特にエラーなど吐かれずに停止してしまいます。
20個のデータ自体は17個目から壊れているということもなく、エラーも出ないためどう調査したものか行き詰まってしまいました。
これはどういった原因が考えられるでしょうか?
0380デフォルトの名無しさん (アウアウ Saff-+ugl)
2016/07/27(水) 01:30:33.19ID:1La/LY56a0381デフォルトの名無しさん (スッップ Sd5f-eQ6f)
2016/07/27(水) 06:21:13.96ID:7WAEItFRdテーブルビューを、スクロールさせてみなよ〜。
>>380
さんの言う通りだから、画面に表示される時に、呼ばれるよ。
0382デフォルトの名無しさん (ササクッテロ Sp8f-LCC3)
2016/07/27(水) 13:59:58.21ID:j+ndhMFNpそれは有名なOSのバグだな
0383デフォルトの名無しさん (ササクッテロ Sp8f-eQ6f)
2016/07/27(水) 14:32:42.68ID:F2gJepH5pリストアイテムが1,000とかあっても常に操作されてはたまらんわ
0384デフォルトの名無しさん (ササクッテロ Sp8f-LCC3)
2016/07/27(水) 15:19:40.55ID:CvwlEFOqp0385デフォルトの名無しさん (ワッチョイ f77b-wAF5)
2016/07/27(水) 19:48:48.98ID:FIXZuIkL0なるほど!と思いましたが、最下部までスクロールしても特に変化がありませんでした・・・
スクロールで一番下のセル(16個目?)でつっかえた時点で次のセルの読み込みが始まる感じなのでしょうか?
1つ関連して気づいたのは、上からセルを数えてみたところ、どうも視認できるのは14セルしか無いみたいでした。
↑では書いてなかったんですが、テーブルビューの上にUISearchBarを挿入しているので、
その幅のため2セル分スクロール画面外に追いやられている(?)のかもしれません。
それが原因で16セル目が画面に表示されず、17セル目の読み込みが始まらないということですかね?
0386デフォルトの名無しさん (スッップ Sd5f-eQ6f)
2016/07/27(水) 21:21:41.62ID:7WAEItFRdテーブルビューの高さを短くしてみれば?
0387デフォルトの名無しさん (スッップ Sd5f-tmF6)
2016/07/27(水) 21:32:57.75ID:W2cFop4Pd数えてないで、セルに番号でも表示させなさい。
0388デフォルトの名無しさん (スッップ Sd5f-eQ6f)
2016/07/27(水) 22:31:08.16ID:7WAEItFRdあ、スクロールバー、下の方どうなっている?
やっぱり、テーブルビューが長いんじゃないかな。
0389デフォルトの名無しさん (ササクッテロ Sp8f-eQ6f)
2016/07/27(水) 22:31:55.81ID:F2gJepH5pttp://potato.2ch.net/test/read.cgi/mac/1460975101/
こっち行け
ここより正しく親切に教えてくれる
0390デフォルトの名無しさん (ワッチョイ f77b-wAF5)
2016/07/27(水) 22:41:31.58ID:FIXZuIkL0アドバイスありがとうございました、TableViewの長さをどうこうしてみる方向で試行錯誤してみます
また詰まったら>>389さんのほうで改めて質問したいと思います
スレ違い失礼しました。とても参考になりました!
0391デフォルトの名無しさん (スッップ Sd5f-eQ6f)
2016/07/27(水) 22:47:53.58ID:7WAEItFRdok!
頑張ってね!
0392デフォルトの名無しさん (ワッチョイ 813c-oK17)
2016/07/30(土) 01:13:26.80ID:Fe0qOD8B0最初にViewを全部作ってScrollViewに並べた方がいいよ
0393デフォルトの名無しさん (アウアウ Sab6-kdTI)
2016/07/30(土) 01:14:21.32ID:nNS5LFORa0394デフォルトの名無しさん (ワッチョイ 797b-Y0VN)
2016/07/30(土) 07:20:09.08ID:ZHtwLoPd0結構みんな使うし昔からあるし、枯れてる方なんじゃない?
0395デフォルトの名無しさん (ワッチョイ e0c9-kdTI)
2016/07/30(土) 08:48:36.07ID:a5YAghH000396デフォルトの名無しさん (ワッチョイ b98f-xRNj)
2016/07/31(日) 06:28:42.51ID:RXjZtQly0Swiftから触るのは厳しいかな
0397デフォルトの名無しさん (ササクッテロ Sp69-Y0VN)
2016/07/31(日) 06:41:42.56ID:DANK7jnep本当に辛いのはサードパーティのC++ライブラリを使おうとした時
その苦痛を味わったら意外と大丈夫に思える
クソとクソを比較するようなものだけど
0398デフォルトの名無しさん (ブーイモ MMcd-xRNj)
2016/08/01(月) 13:25:19.04ID:FO6wHhugM0399デフォルトの名無しさん (ブーイモ MMcd-xRNj)
2016/08/01(月) 13:27:42.96ID:FO6wHhugM誰かLinux版 Swift書いてるやついない?AnyObjectが使えなくて参ってるんだが
0400デフォルトの名無しさん (ササクッテロ Sp69-IdZB)
2016/08/01(月) 14:20:42.38ID:1fEajE9zp% swift
Welcome to Swift version 3.0 (swift-3.0-PREVIEW-3). Type :help for assistance.
1> class A {}
2> let a: AnyObject = A()
エラーをエスパーするけど、String(非クラス)をAnyObject(任意クラス)にキャストしようとしてるんじゃね?
macOSだと String(非クラス) => NSString(クラス) => AnyObject(任意クラス) でCocoa経由でキャスト出来るけど
Linuxだと String(非クラス) => AnyObject(任意クラス) でキャスト出来ない
0401デフォルトの名無しさん (ブーイモ MMcd-xRNj)
2016/08/01(月) 15:19:31.30ID:GELz0wQeMちな7/25版
0402デフォルトの名無しさん (ブーイモ MMcd-xRNj)
2016/08/01(月) 15:20:59.17ID:GELz0wQeM0403デフォルトの名無しさん (ブーイモ MMcd-xRNj)
2016/08/01(月) 16:37:42.97ID:GELz0wQeMまあVaporとその依存ライブラリ検索してもAnyObjectもAnyも殆ど出てこないしLinux版は極力こいつらの使用を避けるべきという空気を感じた。
Javaみたいに受け渡す形も全部定義する文化になるのかな・・
error見てるとAPIレベルの統一性もまだ怪しいわ。(Locale(identifier:)何てないっすよ、いやmacの方でそう変えろと怒られたんだけど(怒))
0404デフォルトの名無しさん (ワッチョイ 813c-kdTI)
2016/08/01(月) 21:52:26.43ID:FARQwrX60クラスにはCプリフィクス、構造体にはSプリフィクスつけるとかさ
0405デフォルトの名無しさん (アウアウ Sa4a-kdTI)
2016/08/01(月) 22:42:08.24ID:uVFIKxq/a0406デフォルトの名無しさん (ワッチョイ 76b2-DMQW)
2016/08/01(月) 22:47:51.70ID:DY46Or+k0今さらシステムハンガリアンを求める意見が出るとは、Swift恐るべき
0407デフォルトの名無しさん (ワッチョイ 813c-oK17)
2016/08/02(火) 00:02:44.50ID:3qV5PhW20これは美しいよね
NextStepが息づいているオブジェクトの契約―プロトコル―だということが示されている
0408デフォルトの名無しさん (ワッチョイ 7da6-oK17)
2016/08/02(火) 00:49:43.41ID:PSACJSZS00409デフォルトの名無しさん (JP 0Hcd-h2bY)
2016/08/02(火) 08:42:29.79ID:1+WRG/xHHそれはIDEで対処すべき
0410デフォルトの名無しさん (アウアウ Sa4a-kdTI)
2016/08/02(火) 09:46:56.26ID:4Am7tDM0a0411デフォルトの名無しさん (スプッッ Sdc8-1ZjC)
2016/08/02(火) 12:09:34.18ID:HzIgtAUzd色替えて表示してくれれば良いのにな
0412デフォルトの名無しさん (ササクッテロ Sp69-9rBd)
2016/08/02(火) 12:33:40.18ID:SH+voDstpXcode8で NSCompositeSourceOver が NSCompositingOperationSourceOver に変わるくらいだからな
変数名に動詞は美しくない、名詞で統一すべきだ!みたいな思想っぽいがコーディング&ビルド時の歓声がいい感じ
実行時にはどうせ置換されてるからユーザには関係ないし、Appleの思想はふつくしい・・・と美的センスを高めるべし
0413デフォルトの名無しさん (ササクッテロ Sp69-kdTI)
2016/08/02(火) 12:56:46.10ID:pW7xUOXSp0414デフォルトの名無しさん (JP 0Hcd-h2bY)
2016/08/02(火) 13:45:18.54ID:1+WRG/xHH色割り当ても有限の資源やで
いちいちそんなの割り振ってられるけぇ
0415デフォルトの名無しさん (ササクッテロ Sp69-Y0VN)
2016/08/02(火) 14:35:43.17ID:SH+voDstp今が至上だから変更する必要ないって信者かな
何かで公式対応したらそれを手放しで称賛しそう
0416デフォルトの名無しさん (ワッチョイ 813c-kdTI)
2016/08/02(火) 22:07:36.60ID:VvxGwIin0業務経験がない大学生や日曜PGには理解できないんだろうけど
業務プログラミングではいまでも普通にハンガリアン現役だよ
pPointerHensuuとかm_memberHensuuとか
INantyaraInterfaceとかdwMillisecondsとか
0417デフォルトの名無しさん (アウアウ Sa4a-kdTI)
2016/08/02(火) 22:12:34.94ID:uniFgz6Ja0418デフォルトの名無しさん (ワッチョイ 813c-kdTI)
2016/08/02(火) 22:14:36.97ID:VvxGwIin0業務プログラミングにMS系もアップル系も関係ないよw
うちはC#だけだけどSwiftでもやることは一緒でしょうに
0419デフォルトの名無しさん (ワッチョイ 88d4-oK17)
2016/08/02(火) 22:23:37.28ID:Yi8YUQqw0よくやれるよな。
趣味でやるから面白いのに。
0420デフォルトの名無しさん (ワッチョイ 9c2b-9rBd)
2016/08/02(火) 22:42:41.89ID:o9UsbVn30Goは Iインターフェースのプレフィクス推奨, 大文字/小文字でpublic/private制御
Swiftはプレフィクスなし推奨(公式ドキュメントにあったはず)
C#は型プレフィクス推奨(だっけかな)
みたいに言語によって違うな
言語文化によってそれぞれ違う、というのが正しい判断
特定言語しか追求してない奴には理解できないんだろうけど
0421デフォルトの名無しさん (アウアウ Sa4a-kdTI)
2016/08/02(火) 23:02:23.14ID:uniFgz6JaObj-CやSwiftでハンガリアン推してるコーディング規約とか見た事ねーわ
Linix界隈でも見た事ねーな
0422デフォルトの名無しさん (ワッチョイ 76b2-DMQW)
2016/08/03(水) 00:08:06.09ID:W0lh95XI0>業務プログラミングではいまでも普通にハンガリアン現役だよ
それって>>416のいる職場では、Win32 API や VB6 が全盛だった時代の
古き因習を未だに引きずっているっていう話だよ
それが>>416の職場では常識なのかもしれないけど、
今時の世の中の常識とはかけ離れている
それに気付けないとは、気の毒と言う他ないね
>>420
>C#は型プレフィクス推奨(だっけかな)
そのソースはどこよ?
MSの公式文書であるMSDNにはハンガリアンは非推奨と明記されてる訳だが
・一般的な名前付け規則 - .NET Framework の全般リファレンス
https://msdn.microsoft.com/ja-jp/library/ms229045(v=vs.100).aspx
>特定言語しか追求してない奴には理解できないんだろうけど
いくつかの言語を聞きかじっただけなのに、
すべてを理解してしまったと勘違いする輩が最もやっかいだよ
その本人には自身が無知であるといふ自覚症状が無いんだから
0423デフォルトの名無しさん (ワッチョイ 793c-wtbT)
2016/08/03(水) 00:16:43.87ID:Tw+AFkY000424デフォルトの名無しさん (ワッチョイ 813c-kdTI)
2016/08/03(水) 00:29:48.91ID:coIHhs7S0古き良き慣習は時代が変わっても色褪せないものだよ
その証拠にMSも最新の開発言語のC#でインターフェースにIプリフィクスつけてる
プリフィクスが悪しき慣習ならMSが未だに採用していることの説明がつかない
リーダブルコードにもプリフィクスつけることで意味がわかりやすくなるって書いてある
0425デフォルトの名無しさん (ワッチョイ 76b2-DMQW)
2016/08/03(水) 00:55:32.60ID:W0lh95XI0例:「犬ははたして哺乳類か」という議論をしている場合
あなたが「犬は哺乳類としての条件を満たしている」と言ったのに対して否定論者が…
1.事実に対して仮定を持ち出す
「犬は子供を産むが、もし卵を生む犬がいたらどうだろうか?」
2.ごくまれな反例をとりあげる
「だが、尻尾が2本ある犬が生まれることもある」
3.自分に有利な将来像を予想する
「何年か後、犬に羽が生えないという保証は誰にもできない」
4.主観で決め付ける
「犬自身が哺乳類であることを望むわけがない」
5.資料を示さず持論が支持されていると思わせる
「世界では、犬は哺乳類ではないという見方が一般的だ」
6.一見、関係がありそうで関係のない話を始める
「ところで、カモノハシは卵を産むのを知っているか?」
以下略
0426デフォルトの名無しさん (ワッチョイ 7c5a-7xJ+)
2016/08/03(水) 02:02:05.54ID:X9OiqNW700427デフォルトの名無しさん (スプッッ Sdc8-Y0VN)
2016/08/03(水) 06:40:05.94ID:hZEJfzBOdあぁ・・・古き良き時代ってやつかな。
0428デフォルトの名無しさん (ササクッテロ Sp69-Y0VN)
2016/08/03(水) 07:44:22.00ID:EUKo0bGfpC#だけを取り挙げて、言語毎に違うという論点からズラしてるのは正に詭弁だなw
0429デフォルトの名無しさん (ワッチョイ e0c9-kdTI)
2016/08/03(水) 09:35:31.19ID:cin2lfFV0にぃ・にぃ・ハンガリアン♪
0430デフォルトの名無しさん (ササクッテロ Sp69-kdTI)
2016/08/03(水) 10:01:36.34ID:qoaK0iCLpたいして役に立たんし、ただでさえ長くなりがちな変数名を余計に長くするだけだ
型変換とかでまずいとこは今はIDEが警告くれるし
メンバ変数のm_も、見るとあぁこいつMS系言語出身だなとすぐわかるなw
self.m_strName = "ピカチュウ"
とかダサすぎw selfついてるからメンバ変数って一目瞭然だし、この場合文字型なのも一目瞭然
iCounterとか、bFlagとか、fnMyCallbackとか、いちいちプレフィックスつける必要なくね?
Appleも自明な変数名つけることを推奨してるしな。英語力とセンスが問われるけど
0431デフォルトの名無しさん (JP 0Hc8-oK17)
2016/08/03(水) 10:07:41.60ID:un+mgcUtHSwiftは何?
0432デフォルトの名無しさん (アウアウ Sa4a-kdTI)
2016/08/03(水) 10:29:12.84ID:i6V8lLeHa0433デフォルトの名無しさん (JP 0Hc8-oK17)
2016/08/03(水) 10:59:34.90ID:un+mgcUtHお前頭がオカシイって言ってるぞ
0434デフォルトの名無しさん (アウアウ Sa4a-kdTI)
2016/08/03(水) 11:10:27.13ID:i6V8lLeHa0435デフォルトの名無しさん (ササクッテロ Sp69-9rBd)
2016/08/03(水) 11:42:26.83ID:EUKo0bGfpAppleは Objective-C without C って言ってる
0436デフォルトの名無しさん (ワッチョイ a353-xRNj)
2016/08/03(水) 12:02:01.38ID:gtoXy1DE0開発途中だと変数の属性なんて頻繁に変わるからな
型からスコープから。ものぐさはハンガリアンしてるくせにそれらが変わってもいちいち変数名を修正しないので混乱を招く。いちいち修正をする奴もそれで無駄に意識を疲労してる事に気付いていない。
Swiftでも一部ライブラリにextensionにprefixを付ける悪習が広まってるが、あれが他者と被ったり作者が気分的に変えたくなったりしたら面倒くせえなと思って敬遠してる
0437デフォルトの名無しさん (アウウィフ FF45-F8IK)
2016/08/03(水) 12:09:49.63ID:mbys/AN5Fもしかして公務員?
0438デフォルトの名無しさん (ワッチョイ a353-xRNj)
2016/08/03(水) 12:12:40.05ID:gtoXy1DE0storedかlocalかなんて即判別できるんだよな
Cの時はいちいち.h開くのが地味に面倒だった
ハンガリアンが必要と感じるのも不要と感じるのも、その人の開発環境をよく知らないと簡単に口だしはできないな
0439デフォルトの名無しさん (スプッッ Sdc8-Y0VN)
2016/08/03(水) 12:29:12.89ID:hZEJfzBOdC+SmalkTalk=ObjectiveC
ObjectiveC-C=SmallTalk
そうかSwiftってSmallTalkだったんだぁ。
0440デフォルトの名無しさん (ササクッテロ Sp69-kdTI)
2016/08/03(水) 12:49:28.49ID:qoaK0iCLp0441デフォルトの名無しさん (ワッチョイ a353-xRNj)
2016/08/03(水) 12:49:39.05ID:gtoXy1DE0mをメンバ変数の意味で使う人もいれば、Mutableの意味で使う人もいたり
k をconstの意味で使う人もいれば、dictonaryのkey要素として使うという意味だったり(似て非なるのが気持ち悪い)
オプソでもやっぱりパッと見でハンガリアン使ってない方がスマートに感じる
ローカルルール感がなくて洗練されている印象がある
まずローカルルールを理解しろってコードは田舎臭い印象を持たれるわ
0442デフォルトの名無しさん (ワッチョイ 3f3c-PVGc)
2016/08/03(水) 18:23:52.38ID:dW70LiFf0http://local.joelonsoftware.com/mediawiki/index.php/間違ったコードは間違って見えるようにする
本来の「種類(Y軸など)を付加するハンガリアン」と
誤解から生まれた「型(Intなど)を付加するハンガリアン」
>これはシモニイの意図していたことではない。
>シモニイは「タイプ」が正確に何を意味するのか注意深く説明しているが、
>それも救いにはならなかった。ダメージは為されてしまった。
0443デフォルトの名無しさん (ワッチョイ 813c-oK17)
2016/08/03(水) 23:53:59.30ID:7qxgC/FR0なんでもletで不変にして使い捨てるという発想は現在のコンビニ社会の病理に繋がっている
0444デフォルトの名無しさん (ワッチョイ e75a-PuCP)
2016/08/04(木) 01:15:34.19ID:chLb4pJN00445デフォルトの名無しさん (ワッチョイ f30c-tjuG)
2016/08/04(木) 02:18:17.05ID:r0NDF1ZQ0メソッドの最後のパラムのクロージャーのシンタックスシュガー的書き方がちょっとキモい時がある。てかクロージャーのシンタックスシュガーもキモい
こういうの書けるのかな
func { func2 { $0 } + $0 }
0446デフォルトの名無しさん (ワッチョイ fb3c-4iqd)
2016/08/04(木) 03:00:38.03ID:EBp/tV2L0Swift4ではそうなっているかもしれん
0447デフォルトの名無しさん (アウアウ Saa7-TDLi)
2016/08/04(木) 07:04:30.86ID:SVFS7JiRa0448デフォルトの名無しさん (ワッチョイ fb3c-4iqd)
2016/08/04(木) 07:38:40.28ID:EBp/tV2L00449デフォルトの名無しさん (ブーイモ MM6f-d+5h)
2016/08/04(木) 08:33:51.54ID:2z+OF9yeM0450デフォルトの名無しさん (ワッチョイ 6b23-d+5h)
2016/08/04(木) 08:35:24.96ID:qYTPS07g00451デフォルトの名無しさん (オッペケ Sr07-xKE3)
2016/08/04(木) 09:38:46.85ID:o2lvd40xrアプリケーションハンガリアンや言語仕様でのプリフィクスは誰も反対してないと思う。
0452デフォルトの名無しさん (ブーイモ MMa7-4iqd)
2016/08/05(金) 10:56:37.09ID:RHt058cjM言語仕様がいけてないせいで付与せざるをえなかった便宜的なプレフィックスならあるが
0453デフォルトの名無しさん (ワッチョイ eba6-+Lqe)
2016/08/05(金) 11:01:53.25ID:B5PVXDo300454デフォルトの名無しさん (ブーイモ MM67-d+5h)
2016/08/05(金) 11:10:11.02ID:u8ZJbz8AM0455デフォルトの名無しさん (ワッチョイ df20-dkFz)
2016/08/05(金) 11:26:50.83ID:+UUjYcrK0perlのことだろ
オンメモリ上に型情報を置かなくて済むから(当時)低スペックでもOK
IDEなんて(当時)ないので変数名だけで人が型推論できる
みたいなメリットしかない言語仕様プレフィクスだった
新興言語はそういう制約がほぼないからデメリットと見なされて無くなってはいるな
ゆえにSwiftも無駄なプレフィクスは非推奨してんだろ
ObjC(Foundation, Cocoa)とのI/F互換性のために引き続き使ってるのは許容されてる
0456デフォルトの名無しさん (ワッチョイ df20-dkFz)
2016/08/05(金) 11:28:18.50ID:+UUjYcrK0こう書かないと発狂する奴が出るので訂正するよ
0457デフォルトの名無しさん (ワッチョイ ebc9-la3/)
2016/08/05(金) 13:50:53.42ID:LJe/qM3f0perlのひどいところをわざわざ真似したよね
なぜ?
0458デフォルトの名無しさん (オイコラミネオ MM0f-4iqd)
2016/08/05(金) 14:25:23.95ID:4DdhRhc0M0459デフォルトの名無しさん (ワッチョイ f33c-gwaK)
2016/08/05(金) 14:28:30.48ID:S2JwEYZ000460デフォルトの名無しさん (ワッチョイ 77c9-TDLi)
2016/08/05(金) 14:30:07.48ID:3AyP/o4E00461デフォルトの名無しさん (ワッチョイ fb3c-IAeB)
2016/08/05(金) 14:31:25.25ID:loWV5KfL00462デフォルトの名無しさん (オイコラミネオ MM0f-4iqd)
2016/08/05(金) 14:32:40.11ID:4DdhRhc0Mどうして気づかなかったのか(^^;
ありがとう
0463デフォルトの名無しさん (ササクッテロ Sp07-dkFz)
2016/08/05(金) 17:03:38.38ID:EtUFIOCRpこういうプレフィクスはどうするんだろうね
Swift3に合わせてObjCの言語仕様も調整するかと思ったら見送られてるようだし
Swift Package Managerが安定する来年,再来年に調整かね(Swift3のpackage managerはクズだった
0464デフォルトの名無しさん (ササクッテロ Sp07-4iqd)
2016/08/05(金) 22:54:07.73ID:Kkm3WZRopよほど吹っかけたんだろうか
0465デフォルトの名無しさん (ワッチョイ 8353-4iqd)
2016/08/06(土) 08:27:17.21ID:EFYxTwiP0CarthageのXcodeに手動で設定加えないといけないバグは治ったらCarthageがいい
将来が期待できるのはやっぱSPMだなあ。今はクソだけど
0466デフォルトの名無しさん (ワッチョイ d317-4iqd)
2016/08/06(土) 08:51:39.68ID:W7Ms+Ki90Appleがライブラリ管理に採用するわけないじゃん
0467デフォルトの名無しさん (アウアウ Saa7-TDLi)
2016/08/06(土) 09:11:26.26ID:MQiRzj93a0468デフォルトの名無しさん (ササクッテロ Sp07-dkFz)
2016/08/06(土) 10:54:38.66ID:kt6iCBZLpどの操作のこと言ってるか分からんが、それ正規仕様って言ってるやつじゃねーの?
メリット少ないし、対応しない方がメリット大きいと考えるから手作業での追加を仕様するって言ってたと思うが
Carthageが出来たんだから自分(Apple内)でも作れる、と思っちゃったのが失敗だな
npmやgo, cargoはそこそこ枯れるくらいに時間かけてるのに、SPMが一年やそこらの開発期間で安定するワケなかった
AppleがIBMにCocoaPodsを買収させて、IBM管理下でCocoaPodsが運用されるのが理想だったかな(政治的にありえん
0469デフォルトの名無しさん (ブーイモ MM67-4iqd)
2016/08/06(土) 13:56:58.06ID:U84KjgALM基準のわかりにくいLayoutErrorとinitがやっつけ感
満載なのとgenerate-xcodeprojで吐かれるのがごちゃごちゃしすぎなのとSampleCodeも巻き込んで取り込もうとする(ライブラリ制作者側にいい回避方法が提示されてないからこうなってるんだろう)のをどうにかしてくれれば当面文句はない
安定したSPMライフを過ごしたいなら今ライブラリの依存バージョンがカオスなのでまずswiftenvを使いこなす必要がある
0470デフォルトの名無しさん (ワッチョイ f30c-orr6)
2016/08/06(土) 16:49:26.13ID:BjaX+hYV0iOS, macOS, シミュレータでframeworkを綺麗に統合するのができなさそうだけど。
0471デフォルトの名無しさん (ササクッテロ Sp07-4iqd)
2016/08/06(土) 17:52:54.64ID:ICY0gKIkpmacOSとwatchOS用のframeworkを1バイナリにまとめるのは無理そうだった
その辺含め純正パッケージマネージャーに期待してる
つうかAppleはOS作るレベルなんだし社内では枯れたライブラリ管理システム持ってるよな?
0472デフォルトの名無しさん (ササクッテロ Sp07-d+5h)
2016/08/06(土) 18:07:38.73ID:2Lfq8V1ep0473デフォルトの名無しさん (ワッチョイ f30c-orr6)
2016/08/07(日) 01:22:13.53ID:146tuEyE0iOSとiOS Simをまとめたとき、info.plistだったかながしっくりこない
0474デフォルトの名無しさん (ササクッテロ Sp07-d+5h)
2016/08/07(日) 11:07:20.55ID:E22yet70pSPMはライブラリバージョンは解決してるし、それとswiftenv関係なくね
xcode-selectの切り替えあればswiftenvも使う機会ないがなぁ
0475デフォルトの名無しさん (JP 0Hef-+Lqe)
2016/08/08(月) 11:07:16.70ID:IdmAvyk/H0476デフォルトの名無しさん (アウアウ Sa1f-TDLi)
2016/08/08(月) 11:30:40.09ID:l9Qu+8oAa0477デフォルトの名無しさん (スプッッ Sdef-tuv5)
2016/08/08(月) 12:44:26.98ID:3sXZ9+0Dd0478デフォルトの名無しさん (オイコラミネオ MM0f-4iqd)
2016/08/08(月) 14:35:50.94ID:Redr8iZHM0479デフォルトの名無しさん (ワッチョイ cb0c-tjuG)
2016/08/09(火) 01:50:23.10ID:lMOV9twn00480デフォルトの名無しさん (ワッチョイ e742-d+5h)
2016/08/09(火) 03:12:50.77ID:ElWNHZru00481デフォルトの名無しさん (ブーイモ MM67-4iqd)
2016/08/09(火) 12:52:43.71ID:clF6+sXCMサーバーサイドで使ってないだろ?
xcode-selectなんてクソの役にももたたん
.swift-versionだけが頼り
0482デフォルトの名無しさん (ブーイモ MM67-4iqd)
2016/08/09(火) 12:56:44.80ID:clF6+sXCMバカッターが阿鼻叫喚で埋まる日が楽しみだ
structがScalaのcase class化してるぞ
0483デフォルトの名無しさん (ササクッテロ Sp07-d+5h)
2016/08/09(火) 14:00:48.47ID:9AWMzQqQp1.xの更新は毎回こんな感じだったぞ
Linuxサーバで使うなら環境変数切り替えでいいや
その切り替えコマンドのラッパーが欲しいならまぁ便利か
0484デフォルトの名無しさん (ワッチョイ 4b87-+Lqe)
2016/08/10(水) 00:02:35.92ID:iA5LWa2Z00485デフォルトの名無しさん (アウアウ Saa7-TDLi)
2016/08/10(水) 07:52:51.99ID:krmuthuGa0486デフォルトの名無しさん (ワッチョイ 4123-lbRm)
2016/08/12(金) 12:01:57.76ID:InPVQ0+50Apple利己的かつ政治的な理由により我々は早急にSwiftへの移行を考えるべきである
以上
0487デフォルトの名無しさん (ワッチョイ 4693-xYo4)
2016/08/12(金) 12:23:30.36ID:WntVIcRT00488デフォルトの名無しさん (アウアウ Sa19-3Vwo)
2016/08/12(金) 12:49:49.20ID:mm4X6Gd9a0489デフォルトの名無しさん (ブーイモ MMa8-xYo4)
2016/08/12(金) 14:14:08.21ID:dBixsx1QMDocumentが未定義でヘッダだけのケース、みんなどうやって探しているの?
cの場合はターミナルでgrep -Rで探せば見つかったけど、Swiftインターフェースは出てこない。
0490デフォルトの名無しさん (ササクッテロ Sp8d-3Vwo)
2016/08/12(金) 16:12:55.03ID:FPTQHjIzpXcodeで出たり出なかったりするのは、もう期待してない
0491デフォルトの名無しさん (アウアウ Sa19-3Vwo)
2016/08/12(金) 19:20:55.45ID:IYlYCot4a0492デフォルトの名無しさん (ワッチョイ 1987-MTuc)
2016/08/13(土) 05:43:50.35ID:yUVj9/gQ0DirectXみたいなもん使うの?
0493デフォルトの名無しさん (ワッチョイ 2166-xYo4)
2016/08/13(土) 07:56:11.91ID:3EXvgLlz00494デフォルトの名無しさん (ワッチョイ 50c9-lbRm)
2016/08/13(土) 08:30:50.87ID:YDpayzOT00495デフォルトの名無しさん (ブーイモ MMa8-xYo4)
2016/08/15(月) 12:29:39.91ID:yDMCtoLlM本家のドキュメントに10.5以降とか書いてあって萎えた。何年前のネタやら。
0496デフォルトの名無しさん (ワッチョイ 773c-wLiW)
2016/08/20(土) 18:51:29.42ID:/9cA7dTP0アプリ単体では、サーバーと連携すればログを取れると思うのですが、プロファイルでipadの起動状況がわかるとか書いてあったのですが、どうゆう仕組みなのでしょうか?
0497デフォルトの名無しさん (アウウィフ FFa7-61cg)
2016/08/20(土) 19:21:04.72ID:OZEoChm6Fhttp://da ily.2ch.net/test/read.cgi/newsplus/1471442254/
0498デフォルトの名無しさん (JP 0Hef-D2ET)
2016/08/21(日) 15:06:23.25ID:FLlAHrBWH初期化すれば問題ない
0499デフォルトの名無しさん (アウアウ Saa7-HNW7)
2016/08/22(月) 01:24:16.78ID:+JfquTF3a逮捕しますw
0500デフォルトの名無しさん (ワッチョイ db7b-DJkl)
2016/08/22(月) 16:28:42.85ID:d5DQ07MM0概念はまぁ分かるんだけど実装時の学習コストが半端ない。
正直複雑すぎないか?もっと単純にパイプ繋いだら動くって理解だけで済むように
して欲しい。
0501デフォルトの名無しさん (ササクッテロ Sp07-HNW7)
2016/08/22(月) 17:28:35.78ID:w5OZ4Actp素直にOOPか、ギリギリ関数ブロック多用くらいにしときたい
0502デフォルトの名無しさん (アウアウ Saa7-QXB1)
2016/08/22(月) 20:38:13.92ID:1c5DUbhwahttps://www.infoq.com/jp/news/2016/08/ahead-to-swift-4
0503デフォルトの名無しさん (ワッチョイ db7b-HNW7)
2016/08/22(月) 21:39:10.13ID:d5DQ07MM0なんというか盛り沢山すぎる。
async awaitは、丁度jsで触っていたから良い気がするけど、rustのメモリモデルを、取り入れるとかrustを殺しに来ているのか。
足し算よりも引き算を、考えてほしい
0504デフォルトの名無しさん (ワッチョイ db7b-HNW7)
2016/08/22(月) 21:42:51.97ID:d5DQ07MM0流行りというか、全然現役だと思うんだけどきれいに作るにはさらなる推古が必要というか。結局rxだけでは解決しない。
0505デフォルトの名無しさん (ワッチョイ 77c9-DJkl)
2016/08/23(火) 00:33:49.88ID:ZjGKyhsb00506デフォルトの名無しさん (ササクッテロ Sp07-HNW7)
2016/08/23(火) 02:51:11.51ID:Kz+VoKQ8p0507デフォルトの名無しさん (ワッチョイ 6bb8-DJkl)
2016/08/23(火) 08:42:57.29ID:cpTR082L0いつまでダラダラやってんだよ
とっとと言語仕様FIXしやがれ
0508デフォルトの名無しさん (ササクッテロ Sp07-wLiW)
2016/08/23(火) 08:46:24.85ID:K9ISf6WBpあれを褒めてた人たちってセンスないの?
0509デフォルトの名無しさん (スッップ Sd6f-HNW7)
2016/08/23(火) 09:10:01.33ID:i+Fi0g/3d進化の方向性としてObjective-C 3.0でよかった人がほとんど
0510デフォルトの名無しさん (ササクッテロ Sp07-HNW7)
2016/08/23(火) 10:14:04.34ID:c6Vi+yfIpobjcアーキテクチャに縛られるからファーストクラス非同期はむづい
0511デフォルトの名無しさん (ワッチョイ db7b-DJkl)
2016/08/23(火) 21:34:48.67ID:KXKGltNd0ファーストクラス非同期って具体的にどういうコードのことです?
0512デフォルトの名無しさん (ワッチョイ db8c-HNW7)
2016/08/24(水) 00:03:37.07ID:+4HQlbXd0gcd, NSOperationをキーワード化しようにも下のC++XX(ObjC)がやってないから出来ない
素直に採用するならC++XXの仕様待ちかねぇ
0513495 (ブーイモ MMb8-qQHP)
2016/08/29(月) 14:10:28.69ID:uH2VtApGM('1394'とか'avc1'とかそういう定数)
Swiftでcのポインタキャストみたいな方法どう実装すればいいのか教えて欲しい。
Swift1.xにはasUnsigned()とかで強制変更できたみたいなのだが、Swift2ではどう書くのかよくわからない。
0514デフォルトの名無しさん (ササクッテロ Sp69-t1qj)
2016/08/29(月) 15:11:12.57ID:OQGg7t2op一応公式ドキュメントでも使い方説明されてるから読め
0515デフォルトの名無しさん (ササクッテロ Sp69-t1qj)
2016/08/29(月) 15:17:03.79ID:OQGg7t2opただただSwift変数に格納するなら構造体コンストラクタ呼べ
確か、asも最近は使えないように機能削減してるだろ
0516デフォルトの名無しさん (ワッチョイ 813c-gQqU)
2016/08/30(火) 00:31:27.04ID:cNs0f/wG00517デフォルトの名無しさん (アウアウ Sacf-S/wM)
2016/09/03(土) 18:38:29.33ID:n1t+on2bahttps://swiftlang.ng.bluemix.net/#/repl/57c9007cc4656ed91352709b
0518デフォルトの名無しさん (ササクッテロ Sp8f-RETc)
2016/09/03(土) 18:58:40.80ID:bXWISI5Hp0519デフォルトの名無しさん (ワッチョイ e33c-hNlF)
2016/09/06(火) 01:09:34.14ID:69qu5Xdx00520デフォルトの名無しさん (ワッチョイ e33c-hNlF)
2016/09/06(火) 09:53:10.97ID:BlGzzwl/0絵文字使えたほうが、一時的に仕込むデバックログを発見しやすいんですよねぇ
0521デフォルトの名無しさん (ワッチョイ e33c-hNlF)
2016/09/06(火) 09:54:52.66ID:BlGzzwl/0何勘違いしているんだろ
そして、519とワッチョイかぶって自演みたいじゃねーか
0522デフォルトの名無しさん (ササクッテロ Sp8f-RETc)
2016/09/06(火) 19:49:29.55ID:r6Q3w9Jppじゃあ本当に英数字以外使ってんのかよってアンケート取ったら使ってるって結果出て渋々対応した
他言語仕様をパクるswiftがそれに追従したのは当然の結果である
対応しなくても困らないとは思うけどねー
0523デフォルトの名無しさん (ワッチョイ 67c9-hNlF)
2016/09/07(水) 11:24:27.15ID:0eqIq2jN00524デフォルトの名無しさん (JP 0Hcf-RETc)
2016/09/07(水) 12:41:08.63ID:pes+4CK/H言語仕様として規約作ってほしい。
golangとか見習えって感じ。
俺自身は規約に対してどうこう言うつもりはないけど、誰かの気まぐれでコロコロ規約が変わるのは我慢ならない。
新しい言語ならそういうのを考慮したほうが将来的にいいだろうと思うが。
0525デフォルトの名無しさん (ワッチョイ 0b17-10NS)
2016/09/07(水) 13:28:41.38ID:aCkr7naK0俺もある程度書き方には制限を設けて、面倒な記述はIDEの機能で補完できるようにすればいいと思ってる
0526デフォルトの名無しさん (ササクッテロ Sp8f-RETc)
2016/09/07(水) 14:19:10.78ID:JMX0NqCppあれもナイわw
Googleのいつもの、ぼくがかんがえたさいきょうの...のな命名規則に笑った
お前にとって最強でも他者が全員そうだと思うなよと
0527デフォルトの名無しさん (ワッチョイ f3c9-zTVk)
2016/09/07(水) 15:13:51.90ID:YSZpbVen0MSよりマシなだけ
0528デフォルトの名無しさん (ワッチョイ b3e3-RETc)
2016/09/07(水) 19:13:28.74ID:WA0UQMWy0appleのはどうなの?nextstep由来は最高な感じ?
0529デフォルトの名無しさん (ワッチョイ e33c-hNlF)
2016/09/07(水) 22:41:56.76ID:EkCs6kan0Android ADKがサイコーって言われているイメージだな
スタックレイアウトとか便利って聞くし
0530デフォルトの名無しさん (ササクッテロ Sp8f-RETc)
2016/09/07(水) 23:26:33.01ID:GA4Onz9Gp0531デフォルトの名無しさん (ワッチョイ 3d7b-j70e)
2016/09/08(木) 01:34:51.79ID:VrDV8UFP0スタックレイアウトならiosもあるだろ。
autolayoutに似たようなのもadkに実装されつつあるしお互いに補完しあってコモディティ化してる感じかな
0532デフォルトの名無しさん (JP 0H78-tq+X)
2016/09/08(木) 14:26:07.38ID:bBLHyk+nHAndroidに、Swift採用される可能性あり
0533デフォルトの名無しさん (ワッチョイ f18f-fZg2)
2016/09/08(木) 20:55:31.69ID:DdU7GvYq0そうなったらいいけど既存のライブラリを全部捨てるのはまずいでしょ
すなおにkotlinでいいのでは
0534デフォルトの名無しさん (ササクッテロ Sp3d-j70e)
2016/09/08(木) 22:05:21.29ID:tEIKARpbp文法だけモダンになったObjCとSwiftは、JavaとKotlinの関係にクリソツ
聖遺物を犯すなという信者がいない分、Java, Kotlinの方が平和だけど
Xcode GM seedのリリースノート読み直したら
ObjCにSwiftの一部機能/文法バックポートしたけどバグがあるから気を付けろとか言っててワロタ
GMでも直らなそうだから困るネ
0535デフォルトの名無しさん (アウアウ Sa09-j70e)
2016/09/09(金) 21:17:25.19ID:oMlYA35zaOCamlが良いな
0536デフォルトの名無しさん (ワッチョイ e53c-fZg2)
2016/09/10(土) 12:32:42.21ID:hj884G230enum Hoge { case Huga, Hige, Fiz, Buz }
// 1個だけだったらなんとかなる
guard let .Huga = hoge else {
// Huga 以外だったら何もしない!
return
}
// こうは書けない
guard hoge == .Huga || hoge == .Hige else {
// Huga, Hige 以外だったら何もしない!
return
}
// 2個以上はswitchを使うしかない?
switch hoge {
case .Huga, .Hige:
break
default:
// Huga, Hige 以外だったら何もしない!
return
}
0537デフォルトの名無しさん (ササクッテロ Sp3d-j70e)
2016/09/10(土) 12:38:48.81ID:OC0tYFoVp意識高くguard使いたいのは分かるが考えるの無駄
0538デフォルトの名無しさん (ササクッテロ Sp3d-Te6E)
2016/09/10(土) 14:09:02.47ID:J2gqY0Ejpどうしてもguardで書きたいならその条件判定するextension書けば?
0539デフォルトの名無しさん (ササクッテロ Sp3d-Te6E)
2016/09/10(土) 17:07:16.99ID:L2RqT83up0540デフォルトの名無しさん (ワッチョイ d0c9-fZg2)
2016/09/10(土) 20:02:21.34ID:Rsq09IoI0> // こうは書けない
> guard hoge == .Huga || hoge == .Hige else {
> // Huga, Hige 以外だったら何もしない!
> return
> }
これ書けるでしょ?
0541デフォルトの名無しさん (ワッチョイ e53c-fZg2)
2016/09/10(土) 22:12:18.49ID:hj884G230すまん、ここで例に上げるために簡略化したから訳わからんことになってるが
Associated Valueなしならguardでいけたわ
enumにAssociated Valueがひとつでもあるとダメっぽ
つまり
enum Hoge { case Huga, Hige, Fiz, Buz(Int) }
こうなるとダメ
0542デフォルトの名無しさん (ワッチョイ e53c-tq+X)
2016/09/11(日) 00:54:51.41ID:6pgOB2Es0Associated Valueがある場合はBuz(1)とBuz(2)が等価かどうか分からんから
Equatableプロトコル未実装扱いになる
準拠させて、==演算子を定義しろ
0543デフォルトの名無しさん (ワッチョイ e53c-fZg2)
2016/09/11(日) 03:00:30.45ID:SyHQJkim0なるほど、そういうカラクリか!
ifやguardで==チェックするにはEquatableに準拠が必要で、
Associated Valueが無ければ暗黙的にEquatable準拠になるのね
0544デフォルトの名無しさん (ブーイモ MMb1-Te6E)
2016/09/11(日) 03:35:19.47ID:ycWMiz3TMguardで比較演算とか愚の骨頂だろ
0545デフォルトの名無しさん (ワッチョイ d0c9-fZg2)
2016/09/11(日) 12:19:46.72ID:U39ML2e200546デフォルトの名無しさん (ササクッテロ Sp3d-j70e)
2016/09/11(日) 12:38:39.71ID:acFljjgkp新しいguardの方がクールだから常に使うべき
と昔のアポー信者なら言ってると思う
今の信者はジョブズ派とアポー派に別れてよくわからん
0547デフォルトの名無しさん (ワッチョイ e53c-tq+X)
2016/09/11(日) 13:00:05.27ID:f+Lj2GcN0それ以上の意味はない
0548デフォルトの名無しさん (ササクッテロ Sp3d-j70e)
2016/09/11(日) 13:21:47.51ID:irbs7pjZpSwiftはObjCよりモダン文法で便利というだけ
それ以上の意味はない、クールであることが唯一のメリットなんだからそこを崇めないでどうする
確認してないけどifでもエラー出すんじゃないかね
guardがifの文法エイリアスなら尚更LLVM中間コードでは同処理で等しくビルドエラーになると思う
0549デフォルトの名無しさん (ワッチョイ d0c9-fZg2)
2016/09/11(日) 17:55:34.21ID:U39ML2e200550デフォルトの名無しさん (ワッチョイ 9342-tq+X)
2016/09/11(日) 22:59:27.98ID:BLHdbzh900551デフォルトの名無しさん (ワッチョイ f1cc-j70e)
2016/09/11(日) 23:05:13.41ID:YI3Lj75B00552デフォルトの名無しさん (ワッチョイ 1142-tq+X)
2016/09/12(月) 22:35:21.24ID:qgvsKaXQ00553デフォルトの名無しさん (ササクッテロ Sp3d-fZg2)
2016/09/13(火) 09:52:51.87ID:PymBUlj8p0554デフォルトの名無しさん (ワッチョイ e53c-k4e8)
2016/09/13(火) 14:55:38.97ID:aKSi/Ch20Swift-Kotlin間のコードコンバーターとか出てくるといいな
固有API呼ぶ所は無理にしてもビジネスロジック的な所けでも行けたらクロス開発しやすい
0555デフォルトの名無しさん (ワッチョイ e53c-k4e8)
2016/09/13(火) 14:56:42.33ID:aKSi/Ch20○ 所だけでも
0556デフォルトの名無しさん (ササクッテロ Sp3d-j70e)
2016/09/13(火) 15:43:08.59ID:GFG56Vt9piOS, MacでKotlinが動いて幸せ
Kotlin2Javaは簡単でありそう
Swiftに拘ってる話じゃないだろうから、こんなので良いんでない
0557デフォルトの名無しさん (ワッチョイ e53c-j70e)
2016/09/13(火) 23:23:38.57ID:iAMkPYAu0「コードコンバーターとか」の「とか」は、「コードコンバーター」以外の何?
0558デフォルトの名無しさん (ワッチョイ d0c9-fZg2)
2016/09/14(水) 08:55:18.23ID:yHyyyith00559デフォルトの名無しさん (アウアウ Sa09-fZg2)
2016/09/14(水) 08:56:07.28ID:jl7wz9Vfa並立助詞「と」+副助詞「か」
1) 事物や動作・作用を例示的に並列・列挙する意を表す。「漱石―鴎外―といった文人」「見る―見ない―騒いでいる」
2) 断定を避け、あいまいにするために語の後に付ける。「学校―から帰る」
>>554の用法は2の方やろうね。コードコンバータ以外の呼び方ややり方があるのかもしれないので単に断定を避けたということでしょう。物事を曖昧にする日本語的な言い回しですね。
0560デフォルトの名無しさん (ササクッテロ Sp3d-fZg2)
2016/09/14(水) 10:12:01.65ID:tLM1ZrcFp0561デフォルトの名無しさん (アウアウ Sa35-j70e)
2016/09/14(水) 21:12:53.03ID:ulyimNOKaアップルの開発者Tedさんがそう予測するならそうなんだろうな。
0562デフォルトの名無しさん (ワッチョイ f1cc-fZg2)
2016/09/14(水) 22:19:08.45ID:YWqZ3UVX0知ってる
0563デフォルトの名無しさん (スップ Sdbf-wJFc)
2016/09/15(木) 12:13:39.46ID:lixG8+CBd0564デフォルトの名無しさん (オイコラミネオ MM3f-eXu6)
2016/09/15(木) 12:55:27.25ID:cJcPfswqM0565デフォルトの名無しさん (ワッチョイ 031f-JYdZ)
2016/09/15(木) 13:49:47.11ID:/7fa7B3U00566デフォルトの名無しさん (アウアウ Saff-I6VW)
2016/09/16(金) 00:04:15.09ID:cfskCqija0567デフォルトの名無しさん (ワッチョイ 333c-I6VW)
2016/09/16(金) 09:52:42.29ID:fRpEGUmG0! Use of unresolved identifier 'もろまん'
0568デフォルトの名無しさん (ササクッテロ Sp1f-wJFc)
2016/09/16(金) 12:57:22.02ID:5hHEZa+ZpkotlinコードをiOSネイティブにコンパイルするコンパイラ
とそれの動作に必要な小さなランタイム、、、とか?
0569デフォルトの名無しさん (ワッチョイ 333c-+gR2)
2016/09/16(金) 18:01:14.05ID:PAOuLYzy02016/09/16(金) 開場:18:57 開演:19:00
lv275901485
0570デフォルトの名無しさん (ササクッテロ Sp1f-eXu6)
2016/09/16(金) 19:50:50.20ID:tSfj9glEp0571デフォルトの名無しさん (ワッチョイ c7c9-I6VW)
2016/09/16(金) 20:07:13.93ID:fHnBwjzI00572デフォルトの名無しさん (ワッチョイ 333c-chWY)
2016/09/16(金) 21:04:41.69ID:lzF3DvQ60教えて欲しいのか?
0573デフォルトの名無しさん (ワッチョイ 83a5-JYdZ)
2016/09/17(土) 17:29:54.10ID:NFR6XOIf00574デフォルトの名無しさん (アウアウ Sa9f-rld7)
2016/09/17(土) 18:33:24.74ID:RsA0Xk1nahttps://swift.org/blog/swift-3-0-released/
0575デフォルトの名無しさん (ワッチョイ 03cc-I6VW)
2016/09/17(土) 18:37:05.53ID:nUbX15jr00576デフォルトの名無しさん (ササクッテロ Sp1f-wJFc)
2016/09/17(土) 18:38:50.39ID:Tc+90Gr2pドワンゴが終わってるのか、Swiftが終わってるのか、アポー信仰が終わってるのかの判断はムズイ
それはそれとすれ、参加者が足りないんだろうから誰か行ってやれ
0577デフォルトの名無しさん (ワッチョイ 333c-chWY)
2016/09/17(土) 18:47:30.56ID:Sf7QEviY0クリス・ラトナー「開放してやったぜ……くくくく。恐怖からな。
守るわきゃねーだろ てめーらクズとの約束なんてよォ。
『リリース』は解除じゃなくて起爆の合図さ!」
0578デフォルトの名無しさん (スッップ Sdbf-wJFc)
2016/09/17(土) 19:12:19.51ID:2LLiOXHSd0579デフォルトの名無しさん (ササクッテロ Sp1f-I6VW)
2016/09/17(土) 19:27:49.04ID:MrzC4sU6p0580デフォルトの名無しさん (ササクッテロ Sp1f-wJFc)
2016/09/17(土) 19:51:05.21ID:uV3/5fuOp尻の毛まで抜かれて鼻血も出ねぇ状態なんで、これでてんやわんやするのはニワカ
macはXcodeのマイグレーション+適当に手直しするけど
サーバ側でやってる人はどうしてんの?せっせと直してる?
0581デフォルトの名無しさん (ササクッテロ Sp1f-eXu6)
2016/09/18(日) 09:46:42.47ID:B3kmBTyIp大規模コードの移行はほぼ失敗する
Xcode9でSwift2.4が出る可能性も十分ある
0582デフォルトの名無しさん (ワッチョイ 0362-wJFc)
2016/09/18(日) 11:52:46.00ID:+iC0HZAY00583デフォルトの名無しさん (ササクッテロ Sp1f-I6VW)
2016/09/18(日) 13:02:26.90ID:6GwrmWj4p0584デフォルトの名無しさん (ワッチョイ c7c9-I6VW)
2016/09/18(日) 22:22:40.86ID:dlysXj0400585デフォルトの名無しさん (ササクッテロ Sp1f-jsoS)
2016/09/19(月) 22:21:33.33ID:suA+W+gRpオナニー言語やで
Objective-Cはノーダメージだがswiftのプロジェクトは炎上必至
0586デフォルトの名無しさん (ワッチョイ 0362-wJFc)
2016/09/20(火) 02:29:00.58ID:S81FWqDn0無駄な新しい感()は要らないんだが
0587デフォルトの名無しさん (ワッチョイ a39a-neIk)
2016/09/20(火) 03:56:37.57ID:G02V+cnw00588デフォルトの名無しさん (ササクッテロ Sp1f-wJFc)
2016/09/20(火) 14:00:42.02ID:E6vTPL2Op0589デフォルトの名無しさん (スッップ Sdbf-wJFc)
2016/09/20(火) 14:19:23.34ID:LnLxJTTHdまー知らないやつがジョブスを崇めているけれど、単なる商売人。
アランケイ氏が凄いのであって、ジョブスは他人の褌で相撲を取っただけ。
0590デフォルトの名無しさん (ササクッテロ Sp1f-eXu6)
2016/09/20(火) 14:20:28.22ID:d4xANhZepやつは死んだから所詮人間よ
0591デフォルトの名無しさん (スップ Sdbf-wJFc)
2016/09/20(火) 15:30:07.57ID:IJCxrmDgd0592デフォルトの名無しさん (アウアウ Saff-W8Ns)
2016/09/20(火) 15:47:35.18ID:BBLKzh/ja0593デフォルトの名無しさん (ワッチョイ bf17-chWY)
2016/09/20(火) 16:50:23.38ID:P4QgwbOk0と思いながら、面倒でまだ取り掛かってない
0594デフォルトの名無しさん (ササクッテロ Sp1f-wJFc)
2016/09/20(火) 17:26:17.43ID:E6vTPL2Op信者は聖遺物を崇めたままで、一部意識高い系も最早離れつつある
切実に商用で使う意味なくね?とは思ってる
ObjCで作ってます、のが金になるんだもんな、、、
0595デフォルトの名無しさん (ワッチョイ 2366-0HYM)
2016/09/20(火) 18:12:39.08ID:XPQYGcID0http://www.buildinsider.net/column/ono-masayuki/004
0596デフォルトの名無しさん (ワッチョイ 5bc9-JYdZ)
2016/09/20(火) 18:14:40.60ID:noK0zumc0>ちなみにPythonなど、いずれの仕様もない言語もある
何言ってんだこいつ
0597デフォルトの名無しさん (ササクッテロ Sp1f-wJFc)
2016/09/20(火) 18:25:47.28ID:E6vTPL2Opと突っ込めと言いたい
ObjCのType Propertyもそうだけど、今回の Swift, ObjCバージョンアップは
性能劣化の言語仕様変更が多くてヤになっちゃうネ
0598デフォルトの名無しさん (ワッチョイ 333c-chWY)
2016/09/20(火) 19:01:08.84ID:tpphygrf00599デフォルトの名無しさん (ササクッテロ Sp1f-wJFc)
2016/09/20(火) 19:27:00.62ID:E6vTPL2Oppart 2, 3の頃にswift笑って悪かったから、こっち向いて叩いてくれよ
0600デフォルトの名無しさん (ワッチョイ 5bc9-JYdZ)
2016/09/20(火) 19:51:06.86ID:noK0zumc00601デフォルトの名無しさん (ワッチョイ c7c9-W8Ns)
2016/09/20(火) 21:17:48.10ID:tdbJRx2v0なぜfor-eachで性能が悪くなる?
for-eachから旧来のc style for loopへ機械的に書き換えられる以上、同等以上の速さにしかならないと思うんだが?
0602デフォルトの名無しさん (ワッチョイ 17ba-wJFc)
2016/09/20(火) 21:22:39.07ID:exJo1nl600603デフォルトの名無しさん (ブーイモ MMbf-wJFc)
2016/09/20(火) 22:39:18.90ID:A2psZARzMえっ
今更foreachが使えるシチュでforを使おうなんて思わないけど、
foreachのほうが早い言語をむしろ知らないんだが。。
なぜだかは知らん
0604デフォルトの名無しさん (ワッチョイ 5b89-eXu6)
2016/09/21(水) 00:24:56.40ID:OaRrWjlb0Swiftだけ勉強してもアプリを作れるようにはなりませんよね?
Cocoa、Cocoa Touchとかいうフレームワークについて知らないといけないみたいなんですよね。
Swift+Cocoaで開発してみたいと思っています。
オススメの書籍・情報源ありませんでしょうか。
Objective-Cはできることなら時間かけたくないです。
0605デフォルトの名無しさん (ワッチョイ 5b89-eXu6)
2016/09/21(水) 00:40:02.74ID:OaRrWjlb0現在AppleがiBookで出してる
The Swiift Programming Language, Swift 3 Edition
で勉強してます。
0606デフォルトの名無しさん (ワッチョイ c7c9-1gsh)
2016/09/21(水) 01:10:56.46ID:LyIIWP0R0ABI固まってからでいいかなと思ってる。
0607デフォルトの名無しさん (ササクッテロ Sp1f-eXu6)
2016/09/21(水) 02:22:59.38ID:PLPNii9cp0608デフォルトの名無しさん (ワッチョイ 0362-W8Ns)
2016/09/21(水) 08:30:52.83ID:O4hgHKhE0ほんとよみにくいなswiftって
でもってiOS/Mac OS開発にしか使えない言語感がさらに高まった
Obj-CはほぼCなんで別に問題なかったが
0609デフォルトの名無しさん (ワッチョイ 038f-W8Ns)
2016/09/21(水) 10:35:03.08ID:DBqUEw9E0swift2 -> 3でも随分変わるんやね。
http://dev.classmethod.jp/smartphone/iphone/swift3_api_design_guideline/
obj-c -> swiftをちょっとずつ進めてる感じ
0610デフォルトの名無しさん (ワッチョイ 4722-4aHJ)
2016/09/21(水) 13:46:02.44ID:UUn4eSEO0for が気持ち悪い
同じ処理を記述するのに複数の書き方ができた方がよいか
とか swift では単一の構文が強制されるような事を書いておきながら
記事内でのループの書き方は複数あるじゃねーか
>>604
初心者だったら swift はやめときな
他の言語と違いがありすぎて無駄な勉強になる
それこそ Xamarin で C# やった方がよいかも
0611デフォルトの名無しさん (ワッチョイ 17ba-wJFc)
2016/09/21(水) 13:55:14.13ID:hzYJ7v8/00612デフォルトの名無しさん (ワッチョイ 333c-LMup)
2016/09/21(水) 14:29:51.45ID:D39cTSRg0associated typeを消滅させてジェネリクスに
0613デフォルトの名無しさん (ワッチョイ 5bc9-JYdZ)
2016/09/21(水) 14:34:17.18ID:ib8am8Zc0なくならなくならなくね
0614デフォルトの名無しさん (ワッチョイ 5b89-eXu6)
2016/09/21(水) 14:52:07.30ID:OaRrWjlb0ということはiOSで動くアプリを書くならObjective-Cしかないということですか……。
注目されててこれからはSwift!みたいな空気を感じたのですが現場の皆さんは警戒してらっしゃるんですね。
ちょっと考え直します。
0615デフォルトの名無しさん (ワッチョイ 8366-eXu6)
2016/09/21(水) 15:16:28.52ID:w7p/jMf40今で言う意識高い系がすぐ連呼してたけど
実用レベルで多用されて万人にオススメできるようになったのは
21世紀入ってから。だいたいアレと同じかなと思ってる。
0616デフォルトの名無しさん (ワッチョイ 9776-QrX9)
2016/09/21(水) 16:52:53.29ID:meh3BzuJ0意識高い系が正しかったんじゃねーかw
0617デフォルトの名無しさん (ワッチョイ 5bc9-JYdZ)
2016/09/21(水) 17:00:58.31ID:ib8am8Zc0javaはオワコン
0618デフォルトの名無しさん (ワッチョイ 333c-LMup)
2016/09/21(水) 17:05:42.72ID:D39cTSRg0と思いつつリスト見てたらSwiftがObjective-C抜いててちょっと驚いた
0619デフォルトの名無しさん (スップ Sdbf-wJFc)
2016/09/21(水) 19:32:08.87ID:eEMgddHid0620デフォルトの名無しさん (ワッチョイ 5b89-eXu6)
2016/09/21(水) 19:35:05.07ID:OaRrWjlb0Swiftはこれからなんでしょうか、あの完成度っていうのは
もしくはやる気がないんでしょうか
0621デフォルトの名無しさん (ワッチョイ 613c-5q76)
2016/09/22(木) 01:02:45.36ID:DMvCB7KZ0Javaは中間コードを吐いて、VMの上で動かすっていうアイデアが秀逸だったから
Swiftにそういう要素ある?
0622デフォルトの名無しさん (ワッチョイ 9d66-Px3x)
2016/09/22(木) 01:07:22.35ID:G/UdJBbg0言語としては次世代向けによく練ってあるって評価で
0623デフォルトの名無しさん (ワッチョイ 613c-5q76)
2016/09/22(木) 15:09:02.30ID:wNhuzt960文字列操作クソだし、Rxはないし、JSONやXMLやDBは外付けライブラリ必須と全然いけてないからなぁ
0624デフォルトの名無しさん (ワッチョイ 9fc9-W8Vy)
2016/09/22(木) 15:09:18.30ID:Ob4qBdWH0初めて聴いたぞそんなの
0625デフォルトの名無しさん (ワッチョイ be0c-q5Mj)
2016/09/22(木) 15:32:09.91ID:Q+uCMJ3a00626デフォルトの名無しさん (ワッチョイ 613c-5q76)
2016/09/22(木) 16:32:46.56ID:wNhuzt960KVOをバインディングに使ったCocoaバインディングもあったが、
Rx=超高性能なKVOという見方はできるかもね
入力がデータに限らない、イベントも時間も全部ストリーム化できるのがRx
0627デフォルトの名無しさん (ササクッテロ Spc9-Px3x)
2016/09/22(木) 21:00:26.23ID:Zxdb0Mj3p0628デフォルトの名無しさん (ワッチョイ be0c-q5Mj)
2016/09/22(木) 21:46:45.10ID:Q+uCMJ3a00629デフォルトの名無しさん (ワッチョイ 5f3c-Px3x)
2016/09/23(金) 03:27:05.55ID:vOHl4AKX0ライブラリの名称の変更も、特に小文字に変更はダメだ。
すまん、ボヤいた。
0630デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/23(金) 09:48:54.39ID:qFln20xXp20年前は言われてた
Swiftは小さな()ランタイムでC++にない文法がOS更新なしで使えるのが逸材だよな
他新興言語くらいに本当に小さければ尚良かった
10M弱は他言語に比べて10倍近いぜよ
0631デフォルトの名無しさん (ワッチョイ 1cba-xdvH)
2016/09/23(金) 10:29:57.72ID:gb9+7gyX0今はかなり向上した
0632デフォルトの名無しさん (ワッチョイ 3d8f-IfJd)
2016/09/23(金) 11:31:30.78ID:iqtk0HU60.netとかもvm使ってるよね。
正直出た当時はwindowsしかないのになんでvm挟む必要あるんだ?と思ったが
今はwindowsPhoneあるしね
0633デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/23(金) 11:34:42.19ID:qFln20xXp0634デフォルトの名無しさん (ワッチョイ 3d8f-IfJd)
2016/09/23(金) 11:41:36.53ID:iqtk0HU60でもwindows onlyだった期間が長いよね。その当時の存在意義を知りたい
0635デフォルトの名無しさん (ワッチョイ 1cba-xdvH)
2016/09/23(金) 11:51:28.58ID:gb9+7gyX00636デフォルトの名無しさん (スッップ Sdb8-aBDa)
2016/09/23(金) 12:35:21.17ID:GXhxz+7ndソフトウェアエンジニアリングというのは、どんなことにも中間層を挟んで解決するから、ついついVMを作りたくなってしまうんだよ。
0637デフォルトの名無しさん (ワッチョイ 613c-O6QK)
2016/09/23(金) 12:37:21.29ID:jNSiLOGk0主にはセキュリティだよ
サンドボックス化が容易でバッファオーバーフローの防止にもなる
なのでブラウザ上などでも
0638デフォルトの名無しさん (ワッチョイ 613c-O6QK)
2016/09/23(金) 12:40:51.41ID:jNSiLOGk0括弧でなくダブルクォートで括ったら以降の文が消えた件について
0639デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/23(金) 13:22:19.46ID:qFln20xXpJavaじゃなくてgo, rustのマルチプラットフォーム対応だろ
他社がやってるから自分もやらなきゃって
TypeScriptはPJ閉じたから.netしかなかった
swiftもgo, rust見習ってはよクロスコンパイル対応しろや
LLVMだからどこでも動くって信者が言ってたじゃねーかよ
0640デフォルトの名無しさん (JP 0Had-VERF)
2016/09/23(金) 13:37:33.82ID:AqTRNsCZHJ++ だか Java on IE だかが裁判で負けたからJava潰しに動いたと聞いた
0641デフォルトの名無しさん (ワッチョイ 1cba-xdvH)
2016/09/23(金) 14:42:11.40ID:gb9+7gyX0macが売れなくなることはしません
0642デフォルトの名無しさん (ワッチョイ fc76-dpGD)
2016/09/23(金) 18:01:50.71ID:wN+HuPEq0>J++ だか Java on IE
これ自体がJAVA潰しじゃなくてなんなのかと
0643デフォルトの名無しさん (ササクッテロ Spc9-Px3x)
2016/09/23(金) 18:14:19.08ID:Bk5BJrUbp問題は小さなランタイムをすべてのアプリに同梱する必要があるし、
まだABIが固まってないから、バージョン違えばビルドし直し、
違うバージョンのswiftバイナリ混在不可なところか
0644デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/23(金) 18:44:11.19ID:qFln20xXpSun Microsystems潰し
言語とランタイムは別だからな?
安定性、容量、性能と課題大杉、Swiftランタイム
3 betaで評価したらfor-eachはC-forに比べて1,000倍遅かったからな
stableでマシな速度になったのかねぇ
0645デフォルトの名無しさん (ササクッテロ Spc9-Px3x)
2016/09/23(金) 19:36:42.61ID:ULoBCWNrpマジで?
ビルド済みのframework毎にランタイムが同梱されててアプリ側はそれらを制限なく組み込めると思ってたんだけどそれは無理?
0646デフォルトの名無しさん (ワッチョイ 3d4e-fewg)
2016/09/23(金) 19:46:33.54ID:hFahtCtn00647デフォルトの名無しさん (ワッチョイ 3d8f-IfJd)
2016/09/23(金) 19:49:16.34ID:iqtk0HU60イマイチABIってなんなのかわからなんから説明頼む。
ABIが固まるとビルドが不要になるってどういうこと?
0648デフォルトの名無しさん (ワッチョイ 613c-O6QK)
2016/09/23(金) 19:49:20.56ID:jNSiLOGk00649デフォルトの名無しさん (JP 0Had-VERF)
2016/09/23(金) 19:53:22.00ID:AqTRNsCZH0650デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/23(金) 19:55:09.35ID:qFln20xXp同じ名前で別の機能/動作が割り当たってる
>>645みたいなことするとバージョン一致してたらビルド通るが
バージョン違いでリンクさせようとするとビルドエラー出す
0651デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/23(金) 19:56:38.28ID:qFln20xXp0652デフォルトの名無しさん (ササクッテロ Spc9-IfJd)
2016/09/23(金) 19:57:22.08ID:Se7AWhAzp軽く落ち込んでる
0653デフォルトの名無しさん (ワッチョイ fc76-dpGD)
2016/09/23(金) 20:21:04.24ID:wN+HuPEq0.withAlphaComponent(0.5)ってなんやねん
.alpha = 0.5 でいいじゃん
0654デフォルトの名無しさん (ワッチョイ 3d62-xdvH)
2016/09/23(金) 20:24:32.83ID:nEqelPbM00655デフォルトの名無しさん (ワッチョイ 9f89-Px3x)
2016/09/23(金) 21:05:10.35ID:AjP6Xmnm00656デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/23(金) 22:47:14.18ID:4YuqY+81pそれはクソゲンゴobjcが悪い(名推理
0657デフォルトの名無しさん (ワッチョイ 613c-5q76)
2016/09/23(金) 23:12:47.42ID:OnzATaqQ00658デフォルトの名無しさん (スッップ Sdb8-xdvH)
2016/09/24(土) 01:44:15.93ID:moJheYL3dオブジェクティブシーノママデナニモモンダイナカッタノニ
ヤッチマッタナアップル
オワリノハジマリ
0659デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/24(土) 09:30:31.64ID:aI8ESMcApなんで2.3にしないのか
外部ライブラリを不用意に書き換えるリスクは少なくねーぞ
0660デフォルトの名無しさん (ササクッテロ Spc9-Px3x)
2016/09/24(土) 13:36:19.08ID:cfcelSBAp代入できないのはuicolorが不変クラスだからでしょう
0661デフォルトの名無しさん (ワッチョイ e0c9-IfJd)
2016/09/24(土) 22:32:06.37ID:RAmnQ68G00662デフォルトの名無しさん (ササクッテロ Spc9-3Nke)
2016/09/24(土) 22:44:13.60ID:rbaWKTimpSwiftやObjCとかそういうレイヤーじゃなく根本的な所で見直してくれい
Core Graphics と Core Image で分かれてるってアポーはObjCの時点でオワットル
0663デフォルトの名無しさん (ワッチョイ 9d66-Px3x)
2016/09/24(土) 23:18:31.54ID:U+a4Ghts0引き継いだら誰にも読めない暗号コードを"作らせない"という伝統で
デフォルトが長いのはさらにそこからユーザー定義と被らないように
プリフィックスを足してるからなのだけど
クソギークはその辺りまったく自覚できないまま素でクソをわざと組みやがる。
そんなんだからWindowsみたいな毎回関係者がソース解読と構造解析から入って
全然バージョンの上がらねぇクソの山ができたっつうのに
いいからWindowsに帰ってCDに入ったプログラムをパッケージ販売してろおまえらは。
21世紀に来るな。
0664デフォルトの名無しさん (ワッチョイ 1cba-xdvH)
2016/09/24(土) 23:34:12.95ID:HWd5b6Z30APIが貧弱すぎる
0665デフォルトの名無しさん (ワッチョイ 613c-5q76)
2016/09/24(土) 23:42:26.62ID:7XUJpj8a00666デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/25(日) 03:02:02.27ID:PHERX7lppそれはお前が20世紀に戻るべきではw
0667495 (ワッチョイ 997d-Px3x)
2016/09/25(日) 07:07:03.05ID:GuFWjhTV0今まで楽できていた所が若干面倒になった印象だよね。
まあでもOSがレイヤー構造にしてあるからこそ
どんどん下位レイヤーをすげ替えする事ができた。
その結果同じような数値型が山盛り量産されて、
Swiftでは型変換意識する作業が沢山になったのはやむを得ないと思う。
0668デフォルトの名無しさん (ワッチョイ 613c-5q76)
2016/09/25(日) 09:16:33.43ID:KXL4C0qA00669デフォルトの名無しさん (ワッチョイ 1c42-5q76)
2016/09/25(日) 09:28:54.66ID:mram+2As0それを取り巻く遺産が重荷になってるのか
1から作ればよかったのに
JavaもC#もそうしてるんだし
0670デフォルトの名無しさん (ワッチョイ 3d62-IfJd)
2016/09/25(日) 09:37:05.73ID:aoHpK4fu0>Swift自体は悪くないのに
www
0671デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/25(日) 10:07:48.06ID:PHERX7lpprustはtraitでフォローしてるから随分便利だけど
swiftはフォローしないからただただ不便に落ちてる
>>670
具体的にダメな点が挙げられないならアンチスレ行ったら?
0672デフォルトの名無しさん (ワッチョイ b693-Px3x)
2016/09/25(日) 11:06:49.57ID:6e+YN9BI0俺も明示的型変換は賛成
Visual c++とかの混乱状況に比べればはるかにマシ
0673デフォルトの名無しさん (ワッチョイ 9717-Px3x)
2016/09/25(日) 16:30:37.23ID:WPD93Cjo0しがらみ無しで1から作ってるんじゃないの?
0674デフォルトの名無しさん (ササクッテロ Spc9-Px3x)
2016/09/25(日) 20:11:06.13ID:l62dNqvQp特にAnyなんとかでラップする仕組みは言語の欠陥としか思えない
0675デフォルトの名無しさん (ワッチョイ 7a20-3Nke)
2016/09/25(日) 20:45:40.46ID:7pznc3qa0let b: Int32 = a
let c: Bool = a
こんな柔軟な型変換、C++の延長上にあるSwiftにできんのかな, やりようはありそうだけどABIがまた盛大にぶっ壊れそう
アップルお得意の自分で定義した特定の組込型(プリミティブ/構造体型)だけ互換するってんなら、いっそいらんぞ
NSArray(ObjC)とArray(Swift)の互換とかもそうだけど、無駄なオーバーヘッドくうし頭悪くて極力使いたくない
0676デフォルトの名無しさん (ワッチョイ 35f9-Px3x)
2016/09/25(日) 21:11:37.24ID:POny1dUv00677デフォルトの名無しさん (アウアウ Sa4e-IfJd)
2016/09/25(日) 21:14:30.78ID:RZAYPghea0678デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/25(日) 21:30:19.65ID:L4PYs0IXpという特別扱いを実装してる余裕がなかった
そういう特別扱いを許すとじゃあこれもってキリがなく、1.0リリースが出来なかった
とかの理由じゃね
>>676
JSじゃないから書かない、JSでもコーディングガイドラインで指示されなきゃ書きたくないけど
0679デフォルトの名無しさん (スプッッ Sdc8-xdvH)
2016/09/25(日) 21:39:09.04ID:JXP+24Rzd早くこの世から消えないかなあ
0680デフォルトの名無しさん (JP 0H25-Px3x)
2016/09/25(日) 23:52:49.84ID:ezPKoiBqH会計計算にDouble使わせるつもりなんだろうかSwiftは
またはNSDecimalNumber使えってか
0681デフォルトの名無しさん (ワッチョイ 3d4e-IfJd)
2016/09/26(月) 00:07:09.88ID:9Urnqoxa0NSDecimalもそうだし、CF系のリファレンス見れなくね?
0682デフォルトの名無しさん (ワッチョイ 3d4e-IfJd)
2016/09/26(月) 00:27:54.42ID:9Urnqoxa0なんかすげえ探しづらいんだけど、とりあえずadd
https://developer.apple.com/reference/foundation/1408473-nsdecimaladd
0683デフォルトの名無しさん (ワッチョイ 3d4e-IfJd)
2016/09/26(月) 00:30:55.10ID:9Urnqoxa0ここにindexあるわ
https://developer.apple.com/reference/foundation/1613024-foundation_functions
0684デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/26(月) 01:08:03.57ID:PbMEPhvdp意識高い系が好むデザインだ
個人的にはくっそみづらいと思ってる
>>676
クロージャーで使うのはいいが、適所ではweak refにしろよ?
なんか考えてなさそうで怖い
0685デフォルトの名無しさん (スップ Sdc8-xdvH)
2016/09/26(月) 01:12:56.22ID:R3wOb+end0686デフォルトの名無しさん (ワッチョイ 3d62-IfJd)
2016/09/26(月) 08:25:30.51ID:AJOvilMi0わかる
0687デフォルトの名無しさん (ワッチョイ e0c9-IfJd)
2016/09/26(月) 08:57:32.40ID:yvxcncPt0APIドキュメントもちゃんとあるやろ
無能ほどSwift批判するな、ホンマ
0688デフォルトの名無しさん (ワッチョイ e0c9-IfJd)
2016/09/26(月) 09:01:54.34ID:yvxcncPt0https://developer.apple.com/reference/foundation/decimal
0689デフォルトの名無しさん (アウアウ Sa4e-IfJd)
2016/09/26(月) 11:41:46.49ID:giYRhX1ba禿同
0690デフォルトの名無しさん (ササクッテロ Spc9-Px3x)
2016/09/26(月) 13:14:54.79ID:jcuOs/Yup0691デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/26(月) 14:19:48.37ID:LCl6P2Ripジョブズ信者が信仰心こじらせて古き良き伝統を尊重してるのが悪い
対信者ビジネスのiOSでSwiftは難しいネ
他のどこでSwift使えるのよという話はあるが
0692デフォルトの名無しさん (ワッチョイ 9f89-Px3x)
2016/09/27(火) 03:48:04.10ID:N2g0Vkt/00693デフォルトの名無しさん (スプッッ Sdc8-xdvH)
2016/09/27(火) 08:03:05.01ID:v2vawIwodこの世から消えて欲しい
0694デフォルトの名無しさん (ワッチョイ 613c-Px3x)
2016/09/27(火) 19:56:20.75ID:wMov4Qi00「あのブドウは酸っぱいに違いないから消えて欲しい」言うかなぁ…
そろそろアレが「パソコン」といっしょに滅びつつあるの自覚し始めてるっしょ?
0695デフォルトの名無しさん (ワッチョイ 1c42-5q76)
2016/09/27(火) 23:02:32.99ID:pJiHchri00696デフォルトの名無しさん (アウアウ Sa4e-IfJd)
2016/09/28(水) 00:19:08.74ID:2l/Ja6Osa0697デフォルトの名無しさん (スフッ Sdb8-Px3x)
2016/09/28(水) 12:41:49.83ID:W7Nr4F+fdc++に比べたら100万倍くらい簡単
0698デフォルトの名無しさん (ワッチョイ 613c-IfJd)
2016/09/28(水) 21:51:50.26ID:BK3GeT+f0C++でできることSwiftでできんの?って言われたらできない訳だし
生ポインタベースのカッチリしたメモリ管理とか、
構造体アラインメントの指定とか、エンディアンの処理とか
0699デフォルトの名無しさん (ワッチョイ 613c-5q76)
2016/09/28(水) 22:03:06.28ID:ZL+igzyn00700デフォルトの名無しさん (ササクッテロ Spc9-xdvH)
2016/09/28(水) 23:32:29.72ID:Kxaor4rlpC++の代わりに使うものじゃないは同意
ObjC, Node.jsのどっちか(もしくは両方)の市場狙いの言語だったと思ってる(過去形
0701デフォルトの名無しさん (ササクッテロ Spb7-LGiF)
2016/09/29(木) 18:39:47.97ID:AciNgn+Dp0702デフォルトの名無しさん (ワッチョイ 47ba-rzru)
2016/09/29(木) 20:18:41.12ID:TO8dgYTa00703デフォルトの名無しさん (アウアウ Sa77-LGiF)
2016/09/30(金) 00:17:18.35ID:MJJqEOOza0704デフォルトの名無しさん (ワッチョイ eb3c-RPp1)
2016/09/30(金) 00:42:51.48ID:jJsdj4Dp00705デフォルトの名無しさん (ワッチョイ 47ba-rzru)
2016/09/30(金) 00:49:24.53ID:C+nAwWAE00706デフォルトの名無しさん (ワッチョイ 4389-LGiF)
2016/09/30(金) 03:24:52.00ID:0KJtriWI0"The Swift Programming Language, Swift 3 Edition"
をウェブサイトで日本語訳をまるまる公開したら著作権上何か問題あるでしょうか。
0707デフォルトの名無しさん (ワッチョイ 1b8f-dvmP)
2016/09/30(金) 03:32:17.52ID:ff48EwFg0出して怒られてから対処すればいいんじゃない。
0708デフォルトの名無しさん (ワッチョイ 17ba-rzru)
2016/09/30(金) 06:16:42.54ID:gcg3EsB90そろそろ仕様固まりました?
0709デフォルトの名無しさん (ワッチョイ 1b62-dvmP)
2016/09/30(金) 08:26:46.31ID:60ZsIOz700710デフォルトの名無しさん (スプッッ Sd0f-rzru)
2016/09/30(金) 08:33:22.52ID:jVSKZUpGd0711デフォルトの名無しさん (ササクッテロ Spb7-LGiF)
2016/09/30(金) 08:34:33.29ID:tZ08Eyszp意識高いSwift使いにガチギレされる
それで前の日本語化サイトは消えた
英語読めるやつだけが言語仕様知ってる状態がいいんだとさ
0712デフォルトの名無しさん (スプッッ Sd0f-rzru)
2016/09/30(金) 08:36:47.65ID:jVSKZUpGd林檎に聞いてみればええやん
さすがの林檎も言語仕様で著作権主張せんやろw
0713デフォルトの名無しさん (ワッチョイ 97c9-dvmP)
2016/09/30(金) 08:43:45.77ID:p4qVFaK600714デフォルトの名無しさん (ワッチョイ 97c9-dvmP)
2016/09/30(金) 08:47:48.51ID:p4qVFaK60APIドキュメントはソースのヘッダドキュメントから生成されてるからオープンソースライセンスが継承されるだろうけど
0715デフォルトの名無しさん (ワッチョイ 1b62-dvmP)
2016/09/30(金) 08:48:48.24ID:60ZsIOz70あほくさ
0716デフォルトの名無しさん (ワッチョイ 97c9-dvmP)
2016/09/30(金) 08:50:44.29ID:p4qVFaK60https://swift.org/documentation/
This ePub document is made available under a Creative Commons Attribution 4.0 International (CC BY 4.0) License.
0717デフォルトの名無しさん (ワッチョイ fb7b-js6q)
2016/09/30(金) 10:43:02.12ID:Vq/K1hOR0もらおうと思うのですが、たまにsafariからアプリをインストールできるサイトが
ありますよね?この方法が使えれば使いたいのですが、あれはどのような仕組みになっているのでしょうか?
単にipaファイルをダウンロードするだけではなさそうですが・・・
0718デフォルトの名無しさん (ワッチョイ 4b7b-dvmP)
2016/09/30(金) 10:44:47.66ID:fltLgPD00[SDK]iPhoneアプリ開発初心者質問箱47[touch][iPad] [無断転載禁止]©2ch.net [無断転載禁止]©2ch.net
http://potato.2ch.net/test/read.cgi/mac/1470902093/
0719デフォルトの名無しさん (スフッ Sd8f-LGiF)
2016/09/30(金) 12:38:33.87ID:o39mJXI1d知らんけどうちはXCodeインストールしてもらってる
0720デフォルトの名無しさん (ササクッテロ Spb7-rzru)
2016/09/30(金) 12:47:10.16ID:xsUewzoZpSwift 3に合わせて出たわけでもなく、何年前のノウハウだよ
0721デフォルトの名無しさん (オイコラミネオ MMef-LGiF)
2016/09/30(金) 13:43:33.67ID:DEDnhy0IM0722デフォルトの名無しさん (ワッチョイ eb3c-dvmP)
2016/09/30(金) 22:17:17.91ID:47zcsaWZ0場合によるかも
selfは全部つけた方がいいかと思ったがダルいので
selfを強調したいときだけつける
internalは必要なシチュが思い浮かばない
0723デフォルトの名無しさん (ワッチョイ 4389-LGiF)
2016/10/01(土) 01:45:34.55ID:akodGXRp0Swiftでのマルチスレッドってどうなってるんですか?
結局、他言語で実装するんですかね?
0724デフォルトの名無しさん (ワッチョイ cf93-LGiF)
2016/10/01(土) 05:58:14.58ID:Ml/WRmOH0さぁ?
おれはNSOperationQueue使ってるけど、、、
それをswiftのマルチスレッドと呼ぶのかどうかは知らん
0725デフォルトの名無しさん (ワッチョイ eb3c-+y5M)
2016/10/01(土) 09:09:29.29ID:DfLcjG5I0func async(b: () -> ()) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), b)
}
async {
print("非同期")
}
0726デフォルトの名無しさん (ササクッテロ Spb7-rzru)
2016/10/01(土) 09:38:36.77ID:wi7Kskn0pswift3の out of scope で concurrency だったから
swift4で仕様に取り込みたいんじゃないのかね
goroutineライクにするのかstd::threadライクにするのか知らんけど
0727デフォルトの名無しさん (ワッチョイ eb3c-RPp1)
2016/10/01(土) 11:06:14.14ID:YMAcE0TL0Swift4は前半はSwift3のやり残し、後半で言語仕様に大きな影響を与えない機能追加
concurrencyが入るのはSwift5だと思われる
0728デフォルトの名無しさん (ササクッテロ Spb7-rzru)
2016/10/01(土) 11:14:53.44ID:wi7Kskn0pstd::threadをはよ取り込んでくれれば良いのにな
Swiftだけやるってわけにはいかず、ObjCを視野に入れて out of scope だったんだろうけど
goroutineを諦めれば3で入れれたと思う
0729デフォルトの名無しさん (スッップ Sd8f-rzru)
2016/10/01(土) 13:48:46.86ID:DTkaTyc5d言語仕様と、オペレーティングシステム仕様を、ごちゃ混ぜにしていないか?
確かにAppleは一体化している感は、あるけれど、言語仕様とオペレーティングシステム仕様は違うよ。
0730デフォルトの名無しさん (ワッチョイ eb3c-LGiF)
2016/10/01(土) 20:41:30.19ID:p0KZZOg90「あとはクラスがよしなにやるもの」って基本思想だからなぁ。
暗示的に返り値来ないと次のステップ進めねぇよとかでもなけりゃ。
0731デフォルトの名無しさん (ワッチョイ 47ba-rzru)
2016/10/01(土) 21:43:05.44ID:ICXd6NI200732デフォルトの名無しさん (ワッチョイ cf93-LGiF)
2016/10/01(土) 23:21:45.19ID:Ml/WRmOH0そんなの他の言語でも普通やん
API呼ばずにまともに動ける言語って見かけないぞ
初期のJavaはそれを目指してたけど結局成功しなかったし
0733デフォルトの名無しさん (ササクッテロ Spb7-rzru)
2016/10/02(日) 09:50:20.29ID:fOGBvveWpアンチスレきなよ、あそこなら無粋な突っ込みしないで賛同してあげるからさ
0734デフォルトの名無しさん (ワッチョイ 1b62-rzru)
2016/10/02(日) 13:53:59.95ID:jKKOWExd00735デフォルトの名無しさん (スップ Sd0f-rzru)
2016/10/02(日) 16:10:17.02ID:z9x7nIQbdandroidは基本的にはjavaで完結できてるんだよなあww
0736デフォルトの名無しさん (ササクッテロ Spb7-rzru)
2016/10/02(日) 16:31:41.14ID:fOGBvveWpワロタwww
0737デフォルトの名無しさん (ワッチョイ 97c9-dvmP)
2016/10/02(日) 16:41:53.93ID:6q2A7e6W00738デフォルトの名無しさん (ワッチョイ 1b4e-dvmP)
2016/10/02(日) 16:50:43.92ID:LuMhVifb0https://www.google.co.jp/search?q=swift+wrapper+for+GCD
0739デフォルトの名無しさん (スフッ Sd8f-LGiF)
2016/10/02(日) 17:29:01.69ID:vtVn8OpVdいや、それと同じ意味やったらiOS/macOSもswiftで完結しとうやん
言語仕様と
言語の標準ライブラリと
OSのAPIと
外部ライブラリは
意味が一緒なんやね、あなたの中では
0740デフォルトの名無しさん (アウアウ Sa77-rzru)
2016/10/02(日) 17:42:44.66ID:lK3/8nBLa本当に頭が悪いなあ
君はなにも理解できてない
0741デフォルトの名無しさん (ササクッテロ Spb7-rzru)
2016/10/02(日) 18:05:00.45ID:fOGBvveWpJava, Swiftをどこのレイヤーで切ってネイティブIF不要と言ってるのかおせーて
0742デフォルトの名無しさん (ササクッテロ Spb7-LGiF)
2016/10/03(月) 02:01:00.97ID:LP69Agyrpアプリケーション層。
0743デフォルトの名無しさん (ワッチョイ 3f93-LGiF)
2016/10/03(月) 06:38:32.71ID:oL0ibHeJ0スレッディングだってやっぱりOS環境のラッパに過ぎないじゃん。
ある機能だけcのapi呼び出すなんて、って書いてあったが、ドングリの背比べじゃないかな。
0744デフォルトの名無しさん (ワッチョイ 1b62-dvmP)
2016/10/03(月) 07:39:22.01ID:CAj1h+Mp0何か切迫した理由でもあった?
0745デフォルトの名無しさん (ワッチョイ cf93-LGiF)
2016/10/03(月) 07:48:43.48ID:LEeITTxF0ネイティブインターフェースが要らへんとは言うてへんねんで
むしろネイティブインターフェース無しでプログラムなんか書かれへん
JavaはJNIを通じてOSコールやその他のライブラリを呼び出す
Swingはブリッジ機能を通じてOSコールやその他のライブラリを呼び出す
androidがJavaだけで完結できると言うのはJNIを通じたandroidのライブラリやOSコールの呼び出しを「Java」という概念に含めて考えているわけで
同じレベルで考えるとブリッジ機能を利用してるのは「swift」に含めて考んとおかしいやろ?って言いたいだけ
どこまでを言語に含めるのかは多少解釈の幅があるもんやけど、比較するならレベルを揃えなあかん
0746デフォルトの名無しさん (ワッチョイ cf93-LGiF)
2016/10/03(月) 08:10:45.50ID:LEeITTxF0「言語仕様+言語の標準ライブラリ」は広義の言語に含めると思とうねん
つまりOSやOS側の標準ライブラリが変わっても影響を受けずに動作する部分
議論の最初だったマルチスレッドに関しては
JavaはJava言語として対応
Swiftは言語としては非対応で、外部の機能を呼び出して実現
やと思う
ちなみに
NSThreadはPOSIXスレッドのラッパー
GCDはBSDライブラリのラッパー
NSOperationQueueはmacOS/iOSライブラリの呼び出し
GUIに関しては言語レベルでのサポートは夢として消えてもたなぁ
0747デフォルトの名無しさん (ワッチョイ 47ba-rzru)
2016/10/03(月) 08:55:26.33ID:lp1ea7NO0それや
0748デフォルトの名無しさん (ワッチョイ 4389-LGiF)
2016/10/03(月) 17:14:48.44ID:TvIcf+Ih00749デフォルトの名無しさん (ササクッテロ Spb7-rzru)
2016/10/03(月) 20:24:01.94ID:Lbg3z6+2p3行でおk
NSThread, GCD, NSOperationの下りも要はOSスレッドをライブラリでラップしてるだけで
そこにどれほどの意味もないよなあぁ
0750デフォルトの名無しさん (スップ Sd0f-rzru)
2016/10/03(月) 20:50:30.92ID:Yg1KMUzJd0751デフォルトの名無しさん (スップ Sd0f-rzru)
2016/10/03(月) 20:52:57.09ID:Yg1KMUzJd言語とframeworkを混在してて理解不能だわ
OS APIがFWでラッピングされててそれがswift言語で使えるんだからandroidと何も変わらんよ
0752デフォルトの名無しさん (ワッチョイ 3f93-LGiF)
2016/10/03(月) 20:55:26.01ID:oL0ibHeJ0SwiftのGui Support=Appkit(mac)でいいじゃない。
Appkitが嫌いな理由をSwiftのせいにしたいだけ?
NSOBject をinheritすれば今までと何も変わらないよ。
0753デフォルトの名無しさん (アウアウ Sa3f-6DZd)
2016/10/03(月) 21:11:28.71ID:kit7ebSraないない。公式サイト
https://swift.org/documentation/#the-swift-programming-language>"The Swift Programming Language, Swift 3 Edition"
のTranslationsを見ると。
C.Cライセンスになっていて他国語への翻訳が奨励されている。既に中国語訳プロジェクトが立ち上がっている。
日本語訳は
http://www.studiogalago.com/the-swift-programming-language/
の中の人が一人でコツコツやっているみたいだけど。facebookに日本人用Swiftグループがあるんだし、手分けしてやればいいのに。
>"The Swift Programming Language, Swift 3 Edition"
0754デフォルトの名無しさん (アウアウ Sa77-rzru)
2016/10/03(月) 23:07:38.65ID:zZ0UVd5la英語のままでいいじゃん
むしろ日本語より英語の方が理解し易い。
0755デフォルトの名無しさん (アウアウ Sa3f-6DZd)
2016/10/03(月) 23:51:22.95ID:WEC8L0VSaほとんど出なくなったこのご時世、この程度の英文ぐらい読めないと、とてもこの先や
っていけないなと思っている。
0756デフォルトの名無しさん (ワッチョイ 47ba-rzru)
2016/10/04(火) 01:26:47.50ID:Dt4PYZAL0英語読めない奴のためにに決まってるだろ?ガイジか?
0757デフォルトの名無しさん (ワッチョイ eb3c-LGiF)
2016/10/04(火) 09:14:46.40ID:NKvGRo0c00758デフォルトの名無しさん (ササクッテロ Spb7-rzru)
2016/10/04(火) 09:43:44.83ID:i7Qr0kn4p日本人は意識高いから仕方ないね
あと、正直和訳手伝おうと思うほどswiftが良い言語とは思ってねぇ
母国語に訳してまで布教しようという輩も少ないんだろうな
0759デフォルトの名無しさん (ササクッテロ Spb7-LGiF)
2016/10/04(火) 10:47:29.04ID:xf+8uPWEp理解した人が書いた翻訳本じゃないと頭に入りにくいんだよね。
まあこれを
頭に入りにくいを避けるために、一度理解してから本を書くべき。
て書かれると眠くなる。
0760デフォルトの名無しさん (ワッチョイ eb3c-jX1/)
2016/10/04(火) 11:11:09.40ID:v1bCBuZQ0thrd_t → 標準(C11から)
pthread → 非標準(ただしPOSIX標準)
std::thread → 標準
boost → 準標準
java.lang.Thread → 標準
android.* → 非標準
System.Threading → 標準
GCD, NSOperation, NSThread → 準標準(コアライブラリ対象)
標準ライブラリ
http://developer.apple.com/reference/swift
コアライブラリ
http://swift.org/core-libraries/
0761デフォルトの名無しさん (ササクッテロ Spb7-rzru)
2016/10/04(火) 11:48:01.85ID:i7Qr0kn4pGCDやNSを準標準というならjava.lang., android.も準標準にしようよ
goやC#みたいに言語文法として非同期をサポートしてようやく区別したい
C#は実態はVM/OSスレッドであんま意味ないかもだけど
グリーンスレッドの言語はイマドキもうないし仕方ない
0762デフォルトの名無しさん (ワッチョイ eb3c-jX1/)
2016/10/04(火) 12:02:45.28ID:v1bCBuZQ0C11のスレッドはC++の経緯を踏まえて規定された
コアライブラリはオープンソース版の標準ライブラリ候補だが
android.はそうではない
java.langは疑う余地なく標準ライブラリ
0763デフォルトの名無しさん (ササクッテロ Spb7-rzru)
2016/10/04(火) 12:57:30.84ID:i7Qr0kn4pAndroid OS上ならandroid.は標準だし
言語、ライブラリ、OSが未だ混ざっとるよ
0764デフォルトの名無しさん (ワッチョイ eb3c-jX1/)
2016/10/04(火) 13:05:52.99ID:v1bCBuZQ0Micro EditionとかAndroid OS上ならとか
むしろ話を混ぜようとしているようにしか
0765デフォルトの名無しさん (ワッチョイ 4389-LGiF)
2016/10/04(火) 13:33:13.53ID:WapAY2ic0週末アプリデベロッパーの私には何がなんだか
0766デフォルトの名無しさん (ササクッテロ Spb7-LGiF)
2016/10/04(火) 18:33:58.44ID:y9UbKKIdpチミ、ここは業務経験3年未満は書き込み禁止だよ
0767デフォルトの名無しさん (スプッッ Sd0f-rzru)
2016/10/04(火) 19:58:49.78ID:5dghqSRwd0768デフォルトの名無しさん (ワッチョイ 3f93-LGiF)
2016/10/04(火) 20:25:46.12ID:IdCdVGLg00769デフォルトの名無しさん (スップ Sd0f-rzru)
2016/10/04(火) 20:26:27.55ID:hlZ0J84nd0770デフォルトの名無しさん (ワッチョイ eb3c-RPp1)
2016/10/04(火) 21:38:52.89ID:xtb8Y0IH0恐らくうちよりSwiftに強い会社はないと思う
0771デフォルトの名無しさん (ワッチョイ 47ba-rzru)
2016/10/04(火) 21:43:16.02ID:Dt4PYZAL00772デフォルトの名無しさん (スフッ Sd8f-LGiF)
2016/10/04(火) 21:56:25.21ID:hInAwTWedお茶にしようぜ!みんな
0773デフォルトの名無しさん (ワッチョイ 97c9-dvmP)
2016/10/04(火) 23:14:11.51ID:BmI86IBN00774デフォルトの名無しさん (ワッチョイ eb3c-RPp1)
2016/10/04(火) 23:21:25.16ID:xtb8Y0IH0やはりSwiftを作るような人間は睡眠なんかに甘えずに没頭してるんだろうな
0775デフォルトの名無しさん (ワッチョイ c3d4-rzru)
2016/10/04(火) 23:46:08.65ID:LNwBTeCj0勉強すればするほど、興ざめしてくる
0776デフォルトの名無しさん (ワッチョイ 4f90-LGiF)
2016/10/05(水) 00:07:07.67ID:LHL1VZ3r0よろしくお願いします。
0777デフォルトの名無しさん (ワッチョイ fb8a-LGiF)
2016/10/05(水) 01:31:42.33ID:aOjqsY1h0つ...釣られないぞ!
0778デフォルトの名無しさん (スプッッ Sd0f-rzru)
2016/10/05(水) 08:14:03.12ID:HknmeI4vdツッコミたいのを我慢するのって苦痛だよ
0779デフォルトの名無しさん (スフッ Sd8f-LGiF)
2016/10/05(水) 08:33:29.11ID:/Fhwgvpsd特にプロジェクト立ち上げ時の実装方針決める時
近々想定されるイベント、、、
「おーい、アンドロイドがSwift対応になったらしいぞ
あのiPhoneアプリ、アンドロイドで動かしてくれ」
「…………」
0780デフォルトの名無しさん (スプッッ Sd0f-rzru)
2016/10/05(水) 08:54:35.56ID:HknmeI4vd0781デフォルトの名無しさん (ワッチョイ 0162-+EyG)
2016/10/06(木) 08:05:41.42ID:YBMzX3RA00782デフォルトの名無しさん (スフッ Sda8-pu+C)
2016/10/06(木) 09:08:17.84ID:is5Ej1+Qdどんな言語も一長一短だし
0783デフォルトの名無しさん (スプッッ Sdf8-xaNP)
2016/10/06(木) 09:09:46.40ID:z1yq3vtzd0784デフォルトの名無しさん (ワッチョイ 353c-+EyG)
2016/10/06(木) 09:35:10.64ID:miDFWnTh0ObjC「ひどい、私のことはもう忘れたというの?」
0785デフォルトの名無しさん (スプッッ Sdf8-xaNP)
2016/10/06(木) 18:30:29.65ID:6nlxRpPjd選択肢がなくなる予定だからゴリ押しって言われてんだろう…
バカなの?
0786デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/06(木) 18:33:19.57ID:5Myi1vl0pマジならソース、2ch総力を出してうんたらかんたら
0787デフォルトの名無しさん (スプッッ Sdf8-xaNP)
2016/10/06(木) 18:41:39.02ID:GY1MFs1Dd0788デフォルトの名無しさん (ドコグロ MMa8-xaNP)
2016/10/06(木) 19:24:02.05ID:dbRxNNhMM0789デフォルトの名無しさん (スプッッ Sdf8-xaNP)
2016/10/06(木) 19:25:53.04ID:6nlxRpPjd>>787
まあObjective-Cなくす方向なのは明らかだな
ところで、どーでもいいけどxaNPはどうせ2ch mate使いなんだろうけど、Sdf8まで被るのは珍しいな
もしかして近くにいたのかと思うとちょっとやだw
0790デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/06(木) 19:43:30.29ID:5Myi1vl0pswift使ってるヤツは微妙と思いながらswift,objcを併用
ジョブズ(ObjC)信者とアップルアンチが、敵の敵は味方で一緒にswiftを叩いてる?
居もしない敵(Swift信者)を相手に仲いいなw
>>776
CのAPI(ABI)が同コンパイラから吐かれてるなら可能
普通にC APIとして叩くコード書いて、ライブラリをリンクすればいいよ
0791デフォルトの名無しさん (ワッチョイ c3f8-sTX3)
2016/10/06(木) 22:47:41.37ID:Ppn//x8R0osx持ってるからサンプルいくつか見たことあるけど
変態文法すぎて嫌厭してたが・・・
せっかく覚えた人ほんと可哀想だわ
0792デフォルトの名無しさん (ワッチョイ 50c9-+EyG)
2016/10/06(木) 23:05:03.20ID:dHiEitkY0字面で敬遠とかアホらしい
0793デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/06(木) 23:10:05.36ID:i8b5nErV00794デフォルトの名無しさん (ワッチョイ ab89-pu+C)
2016/10/06(木) 23:20:35.32ID:AWdbtBN70Appleの開発言語「Swift」にBluemixが対応、iOSアプリ開発に変化は?
0795デフォルトの名無しさん (ワッチョイ 50c9-/Z78)
2016/10/07(金) 01:09:20.92ID:r/YXYLZp0ググルの中の人の話ではあり得なくはないらしい。javaは評決出たけどゴタゴタしてるし。
とはいえ色々やっては何にも世に出さずに無くなるものも多いので変な期待は禁物。
0796デフォルトの名無しさん (ワッチョイ 353c-+EyG)
2016/10/07(金) 01:25:40.76ID:rJ3dWlRe0アップルのマイナープラットフォームでしか動かないうちは
現れては消える泡沫言語のひとつに過ぎん
0797デフォルトの名無しさん (スプッッ Sdbd-xaNP)
2016/10/07(金) 08:05:27.92ID:HkTZrMeMdswiftのメリットなんてなんもないw
0798デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/07(金) 08:10:35.87ID:jkBtorTQpswiftスレでobjcをけなすと、なぜか沢山のレスが釣れる
0799デフォルトの名無しさん (ワッチョイ 0162-xaNP)
2016/10/07(金) 08:58:57.51ID:nixpl/Qv00800デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/07(金) 09:37:36.81ID:jkBtorTQp糞、ごり押しの二択で笑わてるんや
0801デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/07(金) 09:40:01.83ID:jkBtorTQpcygwin portは終わったルルオ
msvc portはまだですかねぇ、、、
0802デフォルトの名無しさん (スプッッ Sdbd-xaNP)
2016/10/07(金) 10:04:58.10ID:HkTZrMeMd技術のない糞林檎には到底無理だろうけど
0803デフォルトの名無しさん (ワッチョイ 6b3c-jLml)
2016/10/07(金) 15:12:22.18ID:TtCSZtxr0objc が捨てられるのは Cocoa が捨てられる時だ。その時は Swift も一緒にポイだ。
0804デフォルトの名無しさん (オッペケ Sr4d-/Z78)
2016/10/07(金) 16:00:32.85ID:7FaeqrGnrへー(鼻ホジホジ
0805デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/07(金) 16:26:28.06ID:jkBtorTQpCarbonからCocoaに載せ変えたの知らんの?くらい返せよ
昔居たswift信者は頑張ってたぞ
実際はlibobjcがlibc並みの依存度だから無茶な話よのう
0806デフォルトの名無しさん (ワッチョイ 50c9-+EyG)
2016/10/07(金) 16:31:19.95ID:48NAy5YH04はCocoaその他FWをSwift流に馴染ませるだろう
5あたりでApple内製コードの完全Swift移行が発表され
6ぐらいでWWDCでジョブズがObjCの葬式をやるだろう
0807デフォルトの名無しさん (スプッッ Sdf8-xaNP)
2016/10/07(金) 18:31:11.53ID:kc+mhg/Sd甚だ迷惑だ
0808デフォルトの名無しさん (ササクッテロ Sp4d-pu+C)
2016/10/07(金) 19:33:33.62ID:VoumAhXNp0809デフォルトの名無しさん (ワッチョイ 353c-+EyG)
2016/10/07(金) 22:33:16.22ID:rJ3dWlRe0今Swift界隈をリードしてる連中は
Objective-Cをずっと触ってきた奴らだぞ・・・
Swiftが出てから触り始めて、
そいつらより出来るようになってから
Objective-Cをバカにしような
0810デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/07(金) 23:19:53.45ID:RcypuJv40オートマの方がもはや性能はいい
0811デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/07(金) 23:48:47.67ID:KSX4f2lwp性能良いトコどこだろうね
モダンな文法が唯一のメリットだと思ってるけど
それが性能には繋がってないよなぁ
0812デフォルトの名無しさん (ワッチョイ fc42-lsIp)
2016/10/08(土) 00:56:05.50ID:5XiE+va+0毎年違った文法が楽しめる
0813デフォルトの名無しさん (ワッチョイ fcba-xaNP)
2016/10/08(土) 01:51:22.43ID:mrzADUl/0コンバータかけたら動かなくなったwww
0814デフォルトの名無しさん (ワッチョイ 21c9-LkUe)
2016/10/08(土) 13:12:19.43ID:RMZHGp4O00815デフォルトの名無しさん (ワッチョイ 353c-pu+C)
2016/10/08(土) 14:11:25.37ID:7aqZN51I00816デフォルトの名無しさん (ワッチョイ 0162-xaNP)
2016/10/08(土) 15:24:42.23ID:641FMjtr00817デフォルトの名無しさん (スプッッ Sdf8-xaNP)
2016/10/08(土) 15:59:46.28ID:W8fQDBNNd[レシーバ メッセージ]
ってのが好き。
0818デフォルトの名無しさん (ワッチョイ fcba-xaNP)
2016/10/08(土) 16:04:59.44ID:mrzADUl/00819デフォルトの名無しさん (ワッチョイ fc42-lsIp)
2016/10/08(土) 16:12:43.95ID:5XiE+va+00820デフォルトの名無しさん (ワッチョイ 50c9-+EyG)
2016/10/08(土) 17:08:23.66ID:sBY/+BPX00821デフォルトの名無しさん (ワッチョイ 0162-xaNP)
2016/10/08(土) 17:32:51.56ID:641FMjtr0いいよねあれ
最初は変態的に感じたけど、今では関数と明確に文法が違うからむしろわかりやすい
0822デフォルトの名無しさん (エムゾネ FFa8-LkUe)
2016/10/08(土) 17:42:08.62ID:GxOhc35MF0823デフォルトの名無しさん (ワッチョイ 0162-xaNP)
2016/10/08(土) 17:46:30.59ID:641FMjtr00824デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/08(土) 18:16:48.35ID:Xvmy/9XEpその文法の違いに意味がある
ぼくがかんがえたさいきょうのオブジェクト指向言語ObjC
ぼくがかんがえたさいきょうのモダン文法言語Swift
どっちを使うかは信仰/好み次第だな
0825デフォルトの名無しさん (スプッッ Sdf8-xaNP)
2016/10/08(土) 18:32:15.27ID:W8fQDBNNdありがとう。
0826デフォルトの名無しさん (ササクッテロ Sp4d-+EyG)
2016/10/08(土) 20:00:44.47ID:DmU6w/1lp0827デフォルトの名無しさん (ワッチョイ c3f8-sTX3)
2016/10/08(土) 23:20:09.59ID:8jtl4rj10結局androidではswift採用する方向性なのかな?
0828デフォルトの名無しさん (ワッチョイ fcba-xaNP)
2016/10/09(日) 00:22:27.26ID:OEMyrOCK0ただの噂だろ
0829デフォルトの名無しさん (ワッチョイ 50c9-/Z78)
2016/10/09(日) 01:41:40.50ID:V3oRZ0il0単に慣れただけだろ。
common lispやforth系のfactorはもっとおもしれーぞ
0830デフォルトの名無しさん (ワッチョイ 0162-+EyG)
2016/10/09(日) 01:44:08.88ID:vn4ejBxV0ネストしまくるところとかも
0831デフォルトの名無しさん (ワッチョイ 50c9-/Z78)
2016/10/09(日) 01:45:57.36ID:V3oRZ0il0swiftもっと安定するまでそれはねーよ
まぁibmもswiftプッシュしてるからswiftの開発もどんどん進むだろうけど
0832デフォルトの名無しさん (ワッチョイ 8317-pu+C)
2016/10/09(日) 04:18:42.46ID:m0tgxIyd0迷わず使え
0833デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/09(日) 14:41:03.14ID:P0MK6PKopIBM巻き込んだせいで梯子外せなくなってそう
梯子の下でからかい8割で使ってるけど、どうするんだろうね
0834デフォルトの名無しさん (ワッチョイ be93-pu+C)
2016/10/10(月) 07:54:14.72ID:7dPzTHPx0メソッド(メッセージ)と関数の区別が付かないのはc++の悪影響
0835デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/10(月) 08:01:29.17ID:ilIcthsLpオブジェクト.プロパティ (新文法
.で区切るのはクソって昔は言ってたけど
今はいずれも素晴らしいって絶賛するだろ?
要は教祖様が発表するならなんだって良かった
swiftは教祖様が発表出来なかった時点で終わった
0836デフォルトの名無しさん (ワッチョイ 014e-+EyG)
2016/10/10(月) 08:19:33.24ID:m8N9lC0h02. method(obj)
3. [obj method]
0837デフォルトの名無しさん (ワッチョイ 353c-+EyG)
2016/10/10(月) 11:59:24.48ID:ojTfyZxF00838デフォルトの名無しさん (ワッチョイ 353c-xaNP)
2016/10/10(月) 12:16:29.77ID:+h2uA/KW0C++やSwiftには、メソッドは無く関数だけ。
>>835
ドット記方は糞
0839デフォルトの名無しさん (ワッチョイ 018f-+EyG)
2016/10/10(月) 12:20:17.30ID:o/bfuqaw0コレってほとんどの言語が全滅じゃないか?
0840デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/10(月) 12:24:36.77ID:JBZYyZMk0ポジティブな話題出してもいいんだぜ?
Swiftのポジティブな話題ってどこでも見ないけどな
太鼓持ちすら、文字列操作クソって話題で盛り上がってるほどだし
0841デフォルトの名無しさん (ワッチョイ 0162-+EyG)
2016/10/10(月) 12:52:15.05ID:3TTXM9TH0つまり今の流れはただのAppleのゴリ押しということになる
0842デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/10(月) 13:05:13.02ID:JBZYyZMk0Appleはそこのポジションをとりに行きたいという意味では合理的な判断
アプリ開発者が今の中途半端なSwiftを使うのはアホ
0843デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/10(月) 13:08:09.45ID:E67RH2w9p落ち着いた後は使いこなせないアホが悪い、のゴリ押しで良い
ObjCはARCだからメモリ管理不要
=> weak refは?
=> 使いこなせないのはアホ
と同じ話
0844デフォルトの名無しさん (ワッチョイ 018f-+EyG)
2016/10/10(月) 13:30:59.85ID:o/bfuqaw0ARCから進化を進めるという意図もあるのかrustのメモリ管理機構を取り込むらしいけどコレってなんなの?
コンパイル時点でメモリリークを防げるような仕組みっぽいけど
コンパイルエラーを読み解くのが大変らしい。
でも静的にメモリリークを防げるならARCのオーバヘッドもなくなるってことだよね
0845デフォルトの名無しさん (ワッチョイ fcba-xaNP)
2016/10/10(月) 13:44:10.71ID:5tAzPSZS00846デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/10(月) 13:52:33.36ID:E67RH2w9pコンパイル時にクッソ強烈にメモリリークの静的検証して
実行時にnilアクセスで落とせなくする
ARC, オプショナルと競合するわけじゃないから不可能じゃないけど
早くてSwift6くらいなら取り込めるんじゃないかな
それより先にgoroutineをパクってくれよな
0847デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/10(月) 13:54:00.89ID:E67RH2w9p0848デフォルトの名無しさん (エムゾネ FFa8-LkUe)
2016/10/10(月) 16:23:30.66ID:Q436H0RNF[[[オブジェクト プロパティ] プロパティ] プロパティ]
オブジェクト.プロパティ.プロパティ.プロパティ
どうみてもドットの方が便利
0849デフォルトの名無しさん (ワッチョイ fcba-xaNP)
2016/10/10(月) 16:27:47.47ID:5tAzPSZS0禿同
0850デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/10(月) 16:30:22.17ID:uUKHL6dI0piyo:b]
わかりやすい
obj.hoge().fuga(fugaarg:a, piyo:b)
気持ち悪い
0851デフォルトの名無しさん (ワッチョイ 014e-+EyG)
2016/10/10(月) 16:37:43.88ID:m8N9lC0h0途中の()いらんだろ本来。無いほうがいい
それよかクロージャの理想の構文はどんなものか議論しよう
0852デフォルトの名無しさん (エムゾネ FFa8-LkUe)
2016/10/10(月) 16:46:11.12ID:Q436H0RNFこれは些細などうでもいいこと
そんなことより
obj.hoge.fuga({fuga:a, piyo:b})
obj.hoge.fuga(a, piyo=b)
で充分だろ
0853デフォルトの名無しさん (ワッチョイ 014e-+EyG)
2016/10/10(月) 16:48:57.65ID:m8N9lC0h0命名によってはしょうがねえのかな
0854デフォルトの名無しさん (ワッチョイ 014e-+EyG)
2016/10/10(月) 16:54:05.45ID:m8N9lC0h0math.sin(x:x) ではないもんな
0855デフォルトの名無しさん (ワッチョイ 50c9-+EyG)
2016/10/10(月) 17:05:43.28ID:SPVYbf620もっと具体的なケースで語れよハゲ
0856デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/10(月) 17:22:33.10ID:uUKHL6dI0self.jobs.death
}
こういうコードほんとクソ
0857デフォルトの名無しさん (ガラプー KKc2-8aGu)
2016/10/10(月) 17:40:48.91ID:+vjmYDwJKobj.hoge(fuga:a, piyo:b)
でいいんじゃないの?
0858デフォルトの名無しさん (ワッチョイ 8317-pu+C)
2016/10/10(月) 17:47:28.81ID:BxH5DKSa0willSetとdidSetは便利だと思う
0859デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/10(月) 18:45:01.29ID:E67RH2w9p最近のObjC Framework APIは[fuga hogeWith:hage]だっけか
別にハゲハゲ言ってもいいけどさ
>>858
乱用してたらコードが見辛くなった(自業自得である
変数宣言と処理は適度に分けた方が良いよな
0860デフォルトの名無しさん (ワッチョイ 0162-+EyG)
2016/10/10(月) 19:35:58.97ID:3TTXM9TH00861デフォルトの名無しさん (ワッチョイ 5c42-xaNP)
2016/10/10(月) 20:11:46.19ID:+uFkYUPk0もうschemeに転向しちゃいなよ
0862デフォルトの名無しさん (スプッッ Sdf8-xaNP)
2016/10/10(月) 20:20:06.43ID:NZ/vw+Ezdそれは、糞なCに侵されているからだよ。
0863デフォルトの名無しさん (ワッチョイ 5c42-xaNP)
2016/10/10(月) 20:23:04.47ID:+uFkYUPk00864デフォルトの名無しさん (ワッチョイ 0162-+EyG)
2016/10/10(月) 20:25:51.18ID:3TTXM9TH00865デフォルトの名無しさん (スッップ Sda8-xaNP)
2016/10/10(月) 20:38:56.37ID:d4iShsP4d0866デフォルトの名無しさん (ワッチョイ fcba-xaNP)
2016/10/10(月) 20:50:04.18ID:5tAzPSZS00867デフォルトの名無しさん (ワッチョイ 0162-+EyG)
2016/10/10(月) 20:54:38.04ID:3TTXM9TH0いやここは Opps! かww
0868デフォルトの名無しさん (ワッチョイ da93-pu+C)
2016/10/10(月) 20:55:50.64ID:WZBlx5zp0ベタベタにポインタとかオブジェクト扱うのは全然Swiftで書いてる気がしない。
0869デフォルトの名無しさん (ワッチョイ b119-xo8R)
2016/10/10(月) 20:58:00.04ID:VSCdHl4u0これは一周回って新しい
あとlispあげてるニワカはobjcスレ行ってsmalltalk起源だってアホ扱いされてくれば良いと思う
willSet, didSetはいい加減ObjCにもバックポートしてくれれば良いのにな
なんか問題あるのかねぇ、単純に面倒なだけかもしれんが
0870デフォルトの名無しさん (ワッチョイ be93-pu+C)
2016/10/10(月) 20:58:03.34ID:7dPzTHPx0コンセプトが違う言語で記法だけ比較しても意味なくね?
Objective-CはCをできるだけそのままでクラスとメッセージパッシングを追加した言語だし
Swiftはプロトコルベースに向かって行くみたいだし
APLみたいに行列演算子が無いからC#はクソとか言わないでしょ?
0871デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/10(月) 21:50:42.59ID:U2TFA8Md0[obj hogeWithfuga: a
piyopiyo: b,
poyo: c]
引数が縦に揃っている、分かりやすい
obj.hoge(fuga: a,
piyopiyo: b,
poyo: c)
右側がガタガタで、崩れた字形は醜い
これにメソッドチェーンや末尾クロージャが追加されると悲惨
0872デフォルトの名無しさん (ワッチョイ 50c9-+EyG)
2016/10/10(月) 21:53:44.87ID:SPVYbf620まったく本質的でない
0873デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/10(月) 21:57:51.41ID:U2TFA8Md0obj.hoge(a, b, c)
本当はこれでよかった
本質的な問題は、obj-cの引数ルールを中途半端に背負ってるクソ言語って点
obj-cはまだ見やすい、Swiftはどうしようもないクソ
0874デフォルトの名無しさん (ワッチョイ 014e-+EyG)
2016/10/10(月) 22:13:50.41ID:m8N9lC0h0コードレビューしててわかんねえから。
0875デフォルトの名無しさん (ワッチョイ f90c-VEo6)
2016/10/10(月) 22:21:45.76ID:8wA3lnrn0例えば、javascriptのdocumentのgetElementById、getElementByNameはメソッド名で頑張ってるけど、
最初の引数しか説明できないしな。(この例は引数1個だから説得力ないけど)
0876デフォルトの名無しさん (スップ Sdf8-xaNP)
2016/10/10(月) 22:28:48.66ID:5BEQ/PHPdそう書けるけどな
external parameter nameなんていらんわ。おれは使わん
0877デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/10(月) 22:39:44.61ID:U2TFA8Md0レビューするときビルドと動作確認のために一回pullするでしょ?
そしたらXcodeで定義見れるから問題にならないはずだがなぁ
github上で斜め読みしかしないなら、それはしょうがねえなって感じだけど
>>875
型のないJavaScriptと比較してもな
Swiftの場合、引数に厳密な型という情報があるから、変数名以上の説明がいるのだとしたら、
メソッドが引数を取りすぎているか、変数名が雑なのかどっちかじゃないか
0878デフォルトの名無しさん (スップ Sdf8-xaNP)
2016/10/10(月) 23:20:12.53ID:5BEQ/PHPdobjcアレルギー持ってる人多いからな
問題はfoundationの中途半端さ
0879デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/11(火) 00:11:48.04ID:cHyeE8akpライブラリはもうobjc製でいいんじゃないかな、、、
Apple OS以外でも、と思ってSwift版作ってるんだろうけどきっついわ
0880デフォルトの名無しさん (スププ Sda8-pu+C)
2016/10/11(火) 09:58:05.17ID:dx68DP/+d日本の現場の多くはオブジェクト指向プログラミングそのものににアレルギーがあるから
あと、テンプレートにも関数型プログラミングにも
オブジェクト指向対応の言語を使って、手続き的プログラミングやるのが主流
それで「○○言語使ってオプジェクト指向で開発やってます」と上に報告すれば丸く収まる
だからオブジェクト指向とかその他の手続き的以外の考え方が強制される言語やライブラリはけっこう嫌がられる
0881デフォルトの名無しさん (スップ Sdf8-xaNP)
2016/10/11(火) 10:47:57.36ID:4b7+P37Hdそんな老害はそろそろ死滅するので論外
0882デフォルトの名無しさん (スププ Sda8-pu+C)
2016/10/11(火) 11:32:51.42ID:dx68DP/+dそう願おう
だがこのスレで関数呼び出しとメソッドを同一視するような書き込みを見るとちと心配
ま、分かっててネタで書いてるんだろうけどさ
0883デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/11(火) 11:49:20.25ID:cHyeE8akp「○○言語使って手続き型で開発やってます」と言えば丸く収まる
関数型、プロトコル指向ときて、Swiftでは今はなにが流行り?
0884デフォルトの名無しさん (ワッチョイ 353c-+EyG)
2016/10/11(火) 12:00:11.16ID:CxXhfkt70関数とメソッドの違いとかswiftだとどうでもよくね?
全部 func で定義すんだし
こまけーことは気にすんなよってことだよ
0885デフォルトの名無しさん (スプッッ Sdf8-xaNP)
2016/10/11(火) 12:23:41.05ID:1BgokK/ad0886デフォルトの名無しさん (ワッチョイ 353c-+EyG)
2016/10/11(火) 13:38:11.85ID:CxXhfkt70swiftの場合、ヘッダー使わねーし、(クロージャーやらプロトタイプなどは除いて)ほとんど定義しか使わねーだろ
こまけーことばかり気にしてるとハゲるぞ
0887デフォルトの名無しさん (スプッッ Sdbd-xaNP)
2016/10/11(火) 14:28:18.33ID:/8qX9ui1d0888デフォルトの名無しさん (ワッチョイ 21c9-LkUe)
2016/10/11(火) 14:42:53.41ID:QeFd4z390LispもSmalltalkも知ってるが(((())))とか
Node.jsとかの{{{{}}}}は好きになれない
Erlangの方がイケてる
0889デフォルトの名無しさん (ワッチョイ 353c-KXO7)
2016/10/11(火) 15:40:10.57ID:liGtqrRj00890デフォルトの名無しさん (ササクッテロ Sp4d-pu+C)
2016/10/11(火) 18:59:54.89ID:Wmxdwu+kp() は曖昧な感じ
{} は攻撃的
0891デフォルトの名無しさん (ワッチョイ 50c9-+EyG)
2016/10/11(火) 21:29:42.26ID:cObrH7jL00892デフォルトの名無しさん (ササクッテロ Sp4d-pu+C)
2016/10/11(火) 21:39:14.53ID:Wmxdwu+kpやっぱ[]が最高だよなー
0893デフォルトの名無しさん (ワッチョイ 50c9-/Z78)
2016/10/12(水) 00:03:40.47ID:XtwtJP1B00894デフォルトの名無しさん (ワッチョイ 8366-pu+C)
2016/10/12(水) 01:04:28.61ID:6wjTUIH10"Objective-C without C"を謳ったswiftは、どこの馬の骨が来たのか知らんけど、またコードの中に変数と混在させて埋めようぜーに退化してるんだもの。
"Objective-C without Objective-C"なんて、また新しいC++じゃねーか!っつか。
0895デフォルトの名無しさん (スッップ Sda8-xaNP)
2016/10/12(水) 01:20:07.13ID:V9J+GeVedほんそれ
変えればいいってもんじゃないん
だが株主やユーザーに対してとにかく新しい感を出したいAppleにとって
言語変更プロジェクトはゴリ押してでも成し得なければならない計画なのだよ
だからAppleの下僕どもはそれに従うまでだ
わかったか下僕ども、うはははは
0896デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/12(水) 11:22:48.67ID:37alkvp4pttp://echo.2ch.net/test/read.cgi/tech/1458491343/
0897デフォルトの名無しさん (スプッッ Sdbd-xaNP)
2016/10/12(水) 12:36:05.20ID:av1qGTEWd0898デフォルトの名無しさん (ササクッテロ Sp4d-pu+C)
2016/10/12(水) 13:14:09.28ID:4sAZDm+Zp0899デフォルトの名無しさん (ワッチョイ 21a5-LkUe)
2016/10/12(水) 13:21:14.38ID:CGbCriuU0それな
一目で判るって大事だよね
0900デフォルトの名無しさん (スップ Sda8-xaNP)
2016/10/12(水) 14:10:43.66ID:6aYwnRIxd0901デフォルトの名無しさん (スプッッ Sdbd-pu+C)
2016/10/12(水) 16:35:17.52ID:tZGrKuF8dC++よりはまだswiftの方が好感が持てるかな?
C++は偏執狂かと思うほどに自らに変化し続けることを強要している言語
俺C++は相当勉強してきたつもりだけどテンプレートメタプログラミング辺りで脱落した
クラスベースのオブジェクト指向プログラミングが落ち着く前に
テンプレートとSTLが導入され
次はモダン記法だ型推論だ
その挙句テンプレートメタプログラミングだと!
いや、やってみたいんだけどさ、メタプログラミング
手を出すなともう一人の自分が言っている
0902デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/12(水) 16:49:21.18ID:37alkvp4pObjCをモダン文法()でラップしたSwift
C++が出来るなら遊びでも続けてた方が良いよ
ObjCもSwiftも機能の根本はC++に依存してるもの
0903デフォルトの名無しさん (ワッチョイ 50c9-+EyG)
2016/10/12(水) 17:10:30.50ID:v2hbQAGX0いっそ毎年別名の別言語としてリリースしたらいい
0904デフォルトの名無しさん (ワッチョイ 3066-pu+C)
2016/10/12(水) 17:40:43.30ID:wxvUm7uc0Objective-Cを知らないで書いてるでしょ、君。
Obj-CはCから直接派生のC++と同時期に作られた言語だからC++を一切経由していない。
逆にあまりに方向が違うからC++の文法をラップして組み込めたので
Objective-C++という変態仕様のバリエーションでC++のコードも移植可能にしてある。
普通はObjective-Cで間に合うから++はゲーム系の人が移植で使うぐらい。
メッセージの考え方は有効だったので、Javaがメソッドという名前でObjective-Cから考え方を継承し、一般化した。
0905デフォルトの名無しさん (ササクッテロ Sp4d-xaNP)
2016/10/12(水) 17:45:54.03ID:37alkvp4pいつのObjCアーキテクチャだよw
0906デフォルトの名無しさん (ワッチョイ 353c-KXO7)
2016/10/12(水) 18:14:14.23ID:Q1QtHVSr00907デフォルトの名無しさん (ワッチョイ 014e-+EyG)
2016/10/12(水) 18:52:39.97ID:cZV01oaX0これは間違い。blocksのソースはC。ARCはclangがコンパイル時にretain/releaseを挿入してるだけ。
0908デフォルトの名無しさん (エムゾネ FFa8-LkUe)
2016/10/12(水) 18:57:18.68ID:bqn+ql9dFたしかにオブジェクト指向とテンプレートは無関係だよな
0909デフォルトの名無しさん (エムゾネ FFa8-LkUe)
2016/10/12(水) 18:59:07.28ID:bqn+ql9dFえっObjective-Cからパクったのか?
うそだろ?
0910デフォルトの名無しさん (スップ Sda8-xaNP)
2016/10/12(水) 20:29:00.33ID:6aYwnRIxd0911デフォルトの名無しさん (JP 0Hf8-lsIp)
2016/10/12(水) 20:57:23.76ID:w1HDVBtiHObj-C++使いこなせないと役に立たないし
0912デフォルトの名無しさん (スップ Sda8-xaNP)
2016/10/12(水) 20:58:59.54ID:6aYwnRIxd0913デフォルトの名無しさん (ワッチョイ 353c-+EyG)
2016/10/12(水) 21:49:42.95ID:egHr26eU0C++でもCOBOLでもいいけど、一度難解な言語を経験した方が基礎体力はつくと思う
0914デフォルトの名無しさん (ワッチョイ f942-lsIp)
2016/10/12(水) 21:57:59.78ID:oYkyBdYu0C言語ができたとき誰かが同じことを言ったそうな
0915デフォルトの名無しさん (ワッチョイ 50c9-+EyG)
2016/10/12(水) 22:11:14.61ID:v2hbQAGX0俺が若い頃した苦労を今の若いやつもするべき、みたいな
てか、スキル身につかないとしたらそれSwiftの問題じゃなくてそいつ個人の問題だし
0916デフォルトの名無しさん (スップ Sda8-xaNP)
2016/10/12(水) 22:36:28.26ID:6aYwnRIxd老害乙
0917デフォルトの名無しさん (ワッチョイ 0162-+EyG)
2016/10/12(水) 23:05:00.53ID:Ho77NI7R0>C++をオブジェクト指向文法()でラップしたObjC
的外れすぎてクソワロタw
なぜObjective-Cという名前なのか考えたほうがいい
というか少しでもObjective-Cを触ったことがあるならその名前の意味がわかるだろう
0918デフォルトの名無しさん (アウアウ Sac5-xaNP)
2016/10/12(水) 23:05:07.28ID:HG5E5ZFha嘘ではない。
しかしそれが真実だったということを一部の裏事情を知るものにしかわからない。
0919デフォルトの名無しさん (ワッチョイ 0162-+EyG)
2016/10/12(水) 23:08:50.68ID:Ho77NI7R0存在した時期があったがそのあたりとなんか関係あったりするのか?
0920デフォルトの名無しさん (ワッチョイ be93-pu+C)
2016/10/12(水) 23:11:19.70ID:oiw5Xn4j0おまいらおっさんだろ!
それが分かっちゃう俺もだがな
0921デフォルトの名無しさん (ワッチョイ 353c-lsIp)
2016/10/12(水) 23:19:26.90ID:nbwBB2870あれはAppleが落ちぶれまくってて、Sunの資本を受けてたから
0922デフォルトの名無しさん (スッップ Sda8-xaNP)
2016/10/12(水) 23:20:43.48ID:7xsW2cC6dCocoa-Java懐かしいな
考えてみれば今で言うSwiftだな
0923デフォルトの名無しさん (スッップ Sda8-xaNP)
2016/10/12(水) 23:28:58.74ID:7xsW2cC6dどーでもいいけど、関数とメソッドが共存してる言語はObjective-C以外にないよな、たぶん
0924デフォルトの名無しさん (ワッチョイ 0162-+EyG)
2016/10/12(水) 23:50:28.78ID:Ho77NI7R0まあ否定はしないw
というかSwiftやってる人もほとんどは今も昔もObjective-Cでやってる人じゃないのかね
中にはSwiftから始めた人もいるだろうけど
Cocoa-Javaは確かJaguarのころ自分も含めObjective-Cとかいう謎言語よりはだいぶハードルが低く感じ、最初はCocoa-Javaで始めたな
すぐにObjective-Cも表記が見慣れないだけで実はたいしたことないことに気づいてから使わなくなったけど
>>921
そういう背景があったのか、なるほど
今となっては資本を提供する側だからな
時代も変わったもんだ
>>923
C++も一応C言語的な関数とメンバ関数は両方あるな
ただ、Objective-Cほど純粋なCにオブジェクト指向を足した言語はないだろうな
まあぼちぼちスレチ宣言されそうだからこの辺にしとくけど
0925デフォルトの名無しさん (ワッチョイ cf93-DI90)
2016/10/13(木) 06:57:11.62ID:uLi1zjjv0俺はSwiftが出来たからiOSアプリに手を出した派
Objective-CはNS系ライプラリの使い方を調べる時にサンプルとして読む程度
[]に戸惑ったがメッセージ送ってるんだと理解できればあとはどうにかなった
0926デフォルトの名無しさん (ササクッテロ Spd7-DI90)
2016/10/13(木) 07:15:56.31ID:TArPTXtxpC++側のオブジェクト指向の説明が「"戦え"関数を構造体に与えると〜」みたいになってて
プログラマに使い方についてわけのわからん理解しかされてなかったのを、メッセージ使うオブジェクト指向側からJavaは
「"戦え"ってメソッド(命令)を与えると中で槍で/剣で/弓でって書き換えられるでしょ」って概念的に明確にしてスッキリさせた。
メッセージ送信型はsmalltalk>Objective-Cの流れ。
0927デフォルトの名無しさん (スップ Sdcf-Oa01)
2016/10/13(木) 08:09:36.48ID:GEWcYK9zd0928デフォルトの名無しさん (ワッチョイ 3b62-Oa01)
2016/10/13(木) 08:17:12.28ID:5gkYrLUa0ちょっと何言ってっかわかんないっすね
0929デフォルトの名無しさん (アウアウ Sab7-GZGd)
2016/10/13(木) 08:40:34.57ID:YiooIUIra> 一部の裏事情を知るものにしかわからない
変に濁さずに、ちゃんとここらへんを出しておけよ…^^;
Java Was Strongly Influenced by Objective-C ...and not C++...
http://cs.gmu.edu/~sean/stuff/java-objc.html
0930デフォルトの名無しさん (ワッチョイ 23c9-3ZZL)
2016/10/13(木) 10:58:24.70ID:a7epO2oP0ソース出せ
0931デフォルトの名無しさん (ササクッテロ Spd7-DI90)
2016/10/13(木) 11:29:21.97ID:cU2wQHszp0932デフォルトの名無しさん (アウアウ Sab7-GZGd)
2016/10/13(木) 11:48:46.35ID:YiooIUIra友達がいじっているObj-Cがクールだったから開発中のJavaにその一部を取り込んだ
JavaのインターフェイスはObj-Cのプロトコルのパクリだし、ラッパークラスのアイデアとかもしかり
もっともメソッドがObj-Cから…に限っては、ゴスリングがSmalltalkユーザーだったことを鑑みるとウソっぽいけどな
0933デフォルトの名無しさん (ササクッテロ Spd7-Oa01)
2016/10/13(木) 13:17:11.42ID:RR+V09XRp0934デフォルトの名無しさん (スプッッ Sdcf-Oa01)
2016/10/13(木) 13:39:42.52ID:DYt3sDdddーの
0935デフォルトの名無しさん (ワッチョイ 4b3b-Dtor)
2016/10/13(木) 13:52:05.31ID:z124Tb2m0一方で、ジョブズ信者はObjCマンセー、Swiftシネと言う
Appleが新しいものだす => ジョブズならこんなもの許さなかった言う
Appleが今のままでいる => ジョブズなら新しいもの出していたと言う
手詰まりすぎワロタ
0936デフォルトの名無しさん (スプッッ Sdcf-Oa01)
2016/10/13(木) 16:03:39.23ID:DYt3sDddd0937デフォルトの名無しさん (スフッ Sd4f-DI90)
2016/10/13(木) 18:47:05.10ID:T+HRsfySd激同
0938デフォルトの名無しさん (ワッチョイ 7353-JbT4)
2016/10/13(木) 19:43:09.57ID:Xiz88gcA0そろそろ次の10年を担う選手起用してもいい頃だろ
0939デフォルトの名無しさん (ササクッテロ Spd7-DI90)
2016/10/13(木) 21:26:25.74ID:cU2wQHszp開発の効率は上がるけど改修の工数は上がる
ちゃんとプロトコル切って外部とのインターフェースを公開すればカッチリするけど、
ヘッダファイル書くのとあんま変わらない
0940デフォルトの名無しさん (ササクッテロ Spd7-Oa01)
2016/10/13(木) 21:56:25.08ID:fjl9TWpjp(ビルド時にヘッダファイル相当を自動生成するからビルド時間増えてることは度外視)
0941デフォルトの名無しさん (ワッチョイ cf93-DI90)
2016/10/13(木) 22:14:49.28ID:uLi1zjjv0やはり保守性と可読性
0942デフォルトの名無しさん (ワッチョイ 8b3c-x3Zw)
2016/10/13(木) 22:29:16.08ID:9U2MzkPG0precompiled headerとかでインクルードをコントロールできないSwiftは論外
0943デフォルトの名無しさん (スッップ Sd4f-Oa01)
2016/10/13(木) 22:30:05.71ID:N9M8W3SZd0944デフォルトの名無しさん (ササクッテロ Spd7-Dtor)
2016/10/13(木) 22:32:16.91ID:DnZBByaEpそういうコード書くアホはObjC .hでもポコポコ I/F変えそうだけど
Swiftが言語仕様で安全にしたいっつーなら、public I/Fが変わったらワーニング出させると良いかもな
0945デフォルトの名無しさん (ササクッテロ Spd7-DI90)
2016/10/14(金) 08:31:54.81ID:pupvpI7KpPublic
Fileprivate
センスなさすぎ
0946デフォルトの名無しさん (スフッ Sd4f-DI90)
2016/10/14(金) 08:52:57.14ID:HctOuMWqdキチンとコンパイル単位を分割しろよ
そもそもswiftだとプリコンパイルヘッダとか無関係だし
0947デフォルトの名無しさん (スフッ Sd4f-DI90)
2016/10/14(金) 08:54:52.68ID:HctOuMWqd0948デフォルトの名無しさん (スップ Sdcf-Oa01)
2016/10/14(金) 10:50:45.71ID:X0K3bG+Kdwww
0949デフォルトの名無しさん (ササクッテロ Spd7-Oa01)
2016/10/14(金) 11:13:12.95ID:tWIyn9WFpプレコンパイルヘッダがなくてビルド時間が今より体感2倍以上かかってたswift1.xさんをディスってんじゃねーよ
人が書く必要はないけどヘッダファイルは必要だったんやなって
0950デフォルトの名無しさん (スプッッ Sdcf-Oa01)
2016/10/14(金) 12:29:01.43ID:4PfJqVeadビルド時間短縮のために型推論捨てることになるのは想定外だったが
0951デフォルトの名無しさん (スフッ Sd4f-DI90)
2016/10/14(金) 12:32:41.75ID:HctOuMWqdしかし、コンパイラが中間処理で吐き出すものは「ヘッダファイルが要る」とは言わんだろう
0952デフォルトの名無しさん (ワッチョイ 57c9-310H)
2016/10/14(金) 20:55:06.45ID:odBYaAF/0次のバージョンでもソースレベルの互換性は維持されないんだろうか?
0953デフォルトの名無しさん (スプッッ Sd4f-Oa01)
2016/10/14(金) 20:57:40.90ID:vtWHaBQVd0954デフォルトの名無しさん (ワッチョイ efd4-2yk0)
2016/10/14(金) 23:18:00.55ID:6VstsZYU0えっ!マジで?
0955デフォルトの名無しさん (ササクッテロ Spd7-Oa01)
2016/10/15(土) 07:05:34.58ID:rMPiWrgcp互換するとは言ってないし、4と5については何も言ってない
3でABI安定させたい => 出来ませんでした、サーセン
くらいに信頼するのはアホよな
0956デフォルトの名無しさん (ササクッテロ Spd7-DI90)
2016/10/15(土) 10:40:25.14ID:pklOHUiWp複雑すぎる推論だとコンパイルエラーになるし
これについてはほんとクソ
0957デフォルトの名無しさん (ワッチョイ 3b62-x3Zw)
2016/10/15(土) 11:03:12.41ID:+A+P8NXM0迷走しすぎで勉強する気が起きない
0958デフォルトの名無しさん (スッップ Sd4f-Oa01)
2016/10/15(土) 11:19:03.63ID:iEfxtDHHdObjective-Cを始めてみた時に感じた以上のキモさを感じるなSwiftは
0959デフォルトの名無しさん (ササクッテロ Spd7-Oa01)
2016/10/15(土) 13:09:45.06ID:rMPiWrgcpそれらの言語から文法パクってるから知ってるとそうでもないと思う
0960デフォルトの名無しさん (ワッチョイ eb3c-DI90)
2016/10/15(土) 18:07:02.39ID:aiJiWNBI00961デフォルトの名無しさん (ササクッテロ Spd7-Oa01)
2016/10/15(土) 20:41:56.93ID:rMPiWrgcpデータ量が小さいなら別に構わんだろうけども
0962デフォルトの名無しさん (ワッチョイ 9b9a-x3Zw)
2016/10/17(月) 00:45:50.95ID:aaDO0EvI0不満あるならOSSなんだから自分でコミットすれば?
0963デフォルトの名無しさん (ワッチョイ 7353-JbT4)
2016/10/17(月) 13:39:39.09ID:sCgnC7z50フットワーク早いわ
0964デフォルトの名無しさん (ワッチョイ 9b9a-x3Zw)
2016/10/17(月) 21:54:31.50ID:aaDO0EvI00965デフォルトの名無しさん (ワッチョイ 8b3c-8qPS)
2016/10/17(月) 21:55:47.61ID:DOm6h5BZ0そろそろiOS自体切るかどうか検討しているみたいだな
0966デフォルトの名無しさん (ワッチョイ 6fd1-rRFK)
2016/10/17(月) 22:53:49.90ID:OntDjDpN0# 右辺が Optional型 → 戻り値も Optional
> print(String?(
0967デフォルトの名無しさん (ワッチョイ 57c9-x3Zw)
2016/10/17(月) 22:55:27.81ID:gagBOE+30iOS切ったら何が残んの
0968デフォルトの名無しさん (ワッチョイ 6fd1-rRFK)
2016/10/17(月) 22:57:34.40ID:OntDjDpN0Nil Coalescing Operator の挙動がよくわからんのでおせぇて。
# 右辺が Optional型 → 戻り値も Optional
> print(String?(�Whoge�W) ?? String?(�Wfuga�W))
Optional(�Whoge�W)
# 右辺が String型 → 戻り値も String型
> print(String?(�Whoge�W) ?? �Wfuga�W)
hoge
こんな感じで ?? の右辺で指定する型によって戻り値の型も変わるみたいなんですが、なんで?
ちなみにバージョンは
$ swift -v
Apple Swift version 2.2 (swiftlang-703.0.18.8 clang-703.0.31)
Target: x86_64-apple-macosx10.9
0969デフォルトの名無しさん (ワッチョイ 9b9a-x3Zw)
2016/10/18(火) 00:46:22.03ID:zt0pttDM0とにかく読みづらい。邪魔。
このスレは匿名でSwiftについて語ったらええやん。)
>>968
?? の意味わかってないね
?? は「左辺がnilなら右辺使います」それだけだよ
0970デフォルトの名無しさん (ワッチョイ 9b9a-x3Zw)
2016/10/18(火) 00:49:28.47ID:zt0pttDM0ホントかよ?iOSだけ切ってMacだけ対応とかありえないでしょ
0971デフォルトの名無しさん (ワッチョイ 2389-DI90)
2016/10/18(火) 04:43:31.74ID:pfxaYmEQ0Objective-C勉強した方が、まだまだよい状況でしょうか。
というのは、Swiftがあまりにも酷評されてるので気になりまして。
よろしければ、アドバイス下さい。
0972デフォルトの名無しさん (ワッチョイ 9b9a-DYJB)
2016/10/18(火) 05:37:56.57ID:zt0pttDM0(優秀なエンジニアは実は2ちゃんねるとかあんま見てない。)
2ちゃんねるの外側の一般世間では結構評価されてると思います。
普通にいい言語だと思います。
高級言語です。モダン。
0973デフォルトの名無しさん (ワッチョイ 9b9a-DYJB)
2016/10/18(火) 05:39:17.63ID:zt0pttDM00974デフォルトの名無しさん (ササクッテロ Spd7-Oa01)
2016/10/18(火) 06:34:55.83ID:SXv995XWp素直にobjcを学んでからswift始めた方が良いと思ってる
0975デフォルトの名無しさん (ワッチョイ cf93-DI90)
2016/10/18(火) 07:56:09.84ID:Xpii0Omk0ここは2chだからな
酷評されるというのは、評判がいいということだ
本当に評判が悪いと話題にも出ない
0976デフォルトの名無しさん (スプッッ Sd57-Oa01)
2016/10/18(火) 08:02:30.47ID:RN0uapNjdそりゃケースバイケースだよ
新規アプリ作るなら一部の糞以外基本swift使う
昔のアプリのエンハンスするには当然objcが必要
おまえに何が必要かだ
0977デフォルトの名無しさん (ワッチョイ 2389-DI90)
2016/10/18(火) 08:08:30.84ID:pfxaYmEQ0>>974さんの意見よくわかります。
Swiftだけで完結してないっていうか、ちょいちょいObjective-Cの知識が入ってくるので、Swiftのすっきりしないところを感じていました。
Objective-C勉強してからSwift始めようと思います。
0978デフォルトの名無しさん (ワッチョイ 3b62-x3Zw)
2016/10/18(火) 08:11:13.11ID:1q9pof5O0>>973
こういうゴリ押す奴いるけど何なんだろうね
0979デフォルトの名無しさん (スプッッ Sd57-Oa01)
2016/10/18(火) 08:13:47.47ID:RN0uapNjd闇雲にobjc勉強しろだなんてただの老害だしなあ
0980デフォルトの名無しさん (ワッチョイ 3b62-x3Zw)
2016/10/18(火) 08:21:22.35ID:1q9pof5O00981デフォルトの名無しさん (ササクッテロ Spd7-Oa01)
2016/10/18(火) 08:33:20.29ID:SXv995XWpこれは老害ですわ
0982デフォルトの名無しさん (ワッチョイ 3b4e-x3Zw)
2016/10/18(火) 08:39:48.48ID:j9lDw9lO0その習得にObj-Cの知識が必要かSwiftだけでも良いかってことだと思う。
0983デフォルトの名無しさん (スプッッ Sd57-Oa01)
2016/10/18(火) 08:45:00.30ID:RN0uapNjdですねw
0984デフォルトの名無しさん (スッップ Sd4f-Oa01)
2016/10/18(火) 08:59:54.94ID:aFusVnxsd0985デフォルトの名無しさん (ササクッテロ Spd7-Oa01)
2016/10/18(火) 09:05:57.05ID:SXv995XWp関数型だのプロトコル指向だのバズワードを追いたいならお薦めできる
0986デフォルトの名無しさん (ワッチョイ 4f32-tRHD)
2016/10/18(火) 11:13:16.15ID:SenGDNdm00987デフォルトの名無しさん (ワッチョイ 8b3c-/6Y/)
2016/10/18(火) 11:36:40.45ID:oLo879ze0http://echo.2ch.net/test/read.cgi/tech/1476758084/
0988デフォルトの名無しさん (ワッチョイ 8b3c-/6Y/)
2016/10/18(火) 11:43:57.15ID:oLo879ze0Swiftアンチスレ part1
http://echo.2ch.net/test/read.cgi/tech/1458491343/
0989デフォルトの名無しさん (スフッ Sd4f-DI90)
2016/10/18(火) 18:24:24.62ID:XNeT8UDOd俺は>>982と同意見だな
勉強すべきはオブジェクト指向でよく使われる手法と
デザインパターンと
各ライブラリのコンセプト(こういう風に使って欲しい)
だと思う
Objective-Cは[]が出てきたらオブジェクトにメッセージを送っている
(意訳:変数のメンバ関数を呼び出してる)
という事さえ知っていればどうにかなる
システムライブラリの例題がObjective-Cというのが良くあるので少し読む必要がある
0990デフォルトの名無しさん (ササクッテロ Spd7-Oa01)
2016/10/18(火) 18:43:44.98ID:hz2rypiBpObjCでデザインパターン学んでからSwiftでおk?
どっちの言語?って聞いてるのに微妙に的外して結論がなくて笑うわ
0991デフォルトの名無しさん (スップ Sdcf-Oa01)
2016/10/18(火) 19:19:17.58ID:nd0z2LLHd本当に必要になるまでswiftのみでOK
0992デフォルトの名無しさん (ブーイモ MM4f-DI90)
2016/10/18(火) 20:02:13.12ID:zSfWaXMBMCocoa bindingとかCFObjectとかガンガン使うし。
Swiftの仕様が安定するまで、この方が楽と思うんだが。
0993デフォルトの名無しさん (ワッチョイ cf93-DI90)
2016/10/18(火) 20:55:49.86ID:Xpii0Omk0swiftだよ、って言いたかった
nsライブラリの説明&サンプルでつまづく所は大抵Objective-Cそのものではなくて
ライブラリの設計思想
だからSwiftを始めるためにObjective-Cやるのはちょっとずれてる
0994デフォルトの名無しさん (ワッチョイ cf93-DI90)
2016/10/18(火) 20:58:28.35ID:Xpii0Omk0それでいいんじゃない?
Swiftってそういうものだと思う。
0995デフォルトの名無しさん (ササクッテロ Spd7-DI90)
2016/10/18(火) 22:40:14.36ID:liPtXnj4p0996デフォルトの名無しさん (スプッッ Sdcf-Oa01)
2016/10/19(水) 07:58:30.50ID:dprVW7hZd0997デフォルトの名無しさん (エムゾネ FF4f-Oa01)
2016/10/19(水) 09:12:07.90ID:GSclPizOF0998デフォルトの名無しさん (ササクッテロ Spd7-Oa01)
2016/10/19(水) 18:42:13.45ID:gznMDzIgp0999デフォルトの名無しさん (ワッチョイ 5d4b-vevC)
2016/10/23(日) 10:59:15.07ID:Zfm3qzSU01000デフォルトの名無しさん (スプッッ Sd39-YT5Q)
2016/10/23(日) 11:11:02.36ID:l/iDXb3dd10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 162日 11時間 40分 56秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。