WWDC2014で発表されたAppleの新言語Swiftについて語りましょう
関連スレ
プログラミング言語Swift Part4
http://egg.2ch.net/test/read.cgi/mac/1484763495/
[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://egg.2ch.net/test/read.cgi/mac/1484217623/
Xcode part14
http://egg.2ch.net/test/read.cgi/mac/1476190499/
Swiftアンチスレ part1
http://mevius.2ch.net/test/read.cgi/tech/1458491343/
前スレ
Swift part10
http://mevius.2ch.net/test/read.cgi/tech/1487552413/
スレ立て時は1行目に「!extend::vvvvv」
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
Swift part11 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 2b11-WRiT)
2017/06/28(水) 17:58:29.74ID:KUDOoNV30189デフォルトの名無しさん (ワッチョイ 27ed-M4aJ)
2017/07/26(水) 19:22:50.49ID:0VRUk0dC0 一方俺は、ObjCの言語仕様にクラス変数が追加されて、既存フレームワークのクラスメソッドがクラス変数に変わって発狂していた
>>188
$0, $1, etc.として複数引数の場合でも引数記述を省略させるためでしょ
シェルスクリプトを書いたことないとなんぞこれってなるが、it0, it1よりはスマートだと思うが
>>188
$0, $1, etc.として複数引数の場合でも引数記述を省略させるためでしょ
シェルスクリプトを書いたことないとなんぞこれってなるが、it0, it1よりはスマートだと思うが
190デフォルトの名無しさん (スッップ Sdff-dDxP)
2017/07/26(水) 19:32:05.98ID:SoUQ8WPld >>181
なので普通に考えるとObjective-C 3.0として改良発展させるのがよかったと思うんだよね...
なので普通に考えるとObjective-C 3.0として改良発展させるのがよかったと思うんだよね...
191デフォルトの名無しさん (スッップ Sdff-dDxP)
2017/07/26(水) 19:33:29.48ID:SoUQ8WPld >>183
禿同すぎる
禿同すぎる
192デフォルトの名無しさん (ワッチョイ 7fe3-E/h9)
2017/07/26(水) 19:44:28.65ID:Q9Wh0Ukp0193デフォルトの名無しさん (ワッチョイ e711-msIr)
2017/07/26(水) 20:10:19.84ID:aZ/eqHae0 itの方がマシというのは別に否定しないけど
「今までの理念」というのはSwiftには無くね
「今までの理念」というのはSwiftには無くね
194デフォルトの名無しさん (ワッチョイ df6c-HXaS)
2017/07/26(水) 21:11:05.37ID:X3I7XP0c0 俺はitより$nの方がマシだと思うけどね
「名前を省略する」ためのものに「名前をつけた気になる」ために$nをやめてitにするってかなり本末転倒じゃない
どうせ具体的な名前が無いなら、極めて曖昧なitなんて単語じゃなく、どこまでも記号的な$nでいい
敢えて単語にするならanonymousArgumentとかclosureArgumentとかにして、クロージャの名前がない引数であるという意味を表さないと
itなんて、$nと同じぐらい何も意味を表さないのに、無駄に単語の体をしてるだけタチ悪いと思うわ
逆にwillSetの引数名省略時のnewValueみたいに、最低限あらかじめ意味が限定されてるところでは、$nでもitでもなくちゃんと最低限の意味を表す省略形になってる
「名前を省略する」ためのものに「名前をつけた気になる」ために$nをやめてitにするってかなり本末転倒じゃない
どうせ具体的な名前が無いなら、極めて曖昧なitなんて単語じゃなく、どこまでも記号的な$nでいい
敢えて単語にするならanonymousArgumentとかclosureArgumentとかにして、クロージャの名前がない引数であるという意味を表さないと
itなんて、$nと同じぐらい何も意味を表さないのに、無駄に単語の体をしてるだけタチ悪いと思うわ
逆にwillSetの引数名省略時のnewValueみたいに、最低限あらかじめ意味が限定されてるところでは、$nでもitでもなくちゃんと最低限の意味を表す省略形になってる
195デフォルトの名無しさん (スッップ Sdff-dDxP)
2017/07/26(水) 22:07:58.73ID:SoUQ8WPld どーでもいいけどいい加減syntaxのセンスがクソ過ぎやしないか?
196デフォルトの名無しさん (ワッチョイ 27ed-M4aJ)
2017/07/26(水) 23:04:09.76ID:0VRUk0dC0 シンタックスのセンスなんてどーでもいいし・・・
197デフォルトの名無しさん (ワッチョイ 7fe3-E/h9)
2017/07/26(水) 23:45:24.29ID:Q9Wh0Ukp0 本音をいうと省略させたくない
書き方増やしてどうする
書き方増やしてどうする
198デフォルトの名無しさん (ワッチョイ 6aea-PkaZ)
2017/07/27(木) 00:17:20.77ID:stgr+uVA0 俺も書き方のバリエーションが増えるのは反対だな。誰が書いても同じ文法で、誰が書いたコードでも誰でもさっと読めるのが理想だったな。
199デフォルトの名無しさん (ワッチョイ afa9-8N1R)
2017/07/27(木) 00:19:52.29ID:YcR0VV5Q0 swiftでrxSwiftさわったらすごくRxがわかりやすくなったのは良い思い出。
objcだとわけわかめだった。
構文って結構学習コストに関わるんだなって理解した瞬間でした。
objcだとわけわかめだった。
構文って結構学習コストに関わるんだなって理解した瞬間でした。
200デフォルトの名無しさん (ワッチョイ 97e3-f9Oc)
2017/07/27(木) 00:21:32.40ID:8AwtWwUr0 >>198
Haskellが普及しないのは、その理想を追い求めすぎてるからだけどね
Haskellが普及しないのは、その理想を追い求めすぎてるからだけどね
201デフォルトの名無しさん (ワッチョイ afa9-8N1R)
2017/07/27(木) 00:27:01.52ID:YcR0VV5Q0202デフォルトの名無しさん (ワッチョイ 7b32-VhqT)
2017/07/27(木) 10:53:29.63ID:ck0CL7KM0 objCは文法に多様性がありすぎて俺には理解できなかった
203デフォルトの名無しさん (ワッチョイ 6a0d-0tm6)
2017/07/27(木) 19:10:53.39ID:NhSve46F0 Blocks構文は「それそういうクラスじゃいかんの?Cに付け足す理由は…?」といまだに
204デフォルトの名無しさん (ワッチョイ 0f7e-XfY8)
2017/07/27(木) 19:22:06.60ID:uqnl2xme0 >>199
ObjCにはCocoa Bindingがある。
ObjCにはCocoa Bindingがある。
205デフォルトの名無しさん (ワッチョイ afa9-8N1R)
2017/07/27(木) 20:21:49.26ID:YcR0VV5Q0 >>204
双方向バインディングとRxを一緒にするない。
双方向バインディングとRxを一緒にするない。
206デフォルトの名無しさん (スッップ Sd8a-fvjh)
2017/07/27(木) 21:59:22.87ID:dY8Lj/zzd >>202
メッセージ式は面食らったが、CとJavaをやってたからあんまり覚えることなかったけどなObjC
メッセージ式は面食らったが、CとJavaをやってたからあんまり覚えることなかったけどなObjC
207デフォルトの名無しさん (アウアウエー Sae2-YNlP)
2017/07/28(金) 08:50:56.18ID:NpsU3dCha208デフォルトの名無しさん (ワッチョイ a66b-qK7i)
2017/07/29(土) 08:59:34.62ID:/r3JclQn0 >>207
そだね
そだね
209デフォルトの名無しさん (ブーイモ MM8a-V675)
2017/07/29(土) 13:02:57.19ID:arVZp8ApM レベルに合わせた書き方すりゃいいじゃんよ
generics,typealias,operator overload この辺は無理して使うことない
boilerplate無くしてえなーもっとコードを直感的に書きてえなー、そもそも今までの書き方飽きたから違った書き方してえなー
という欲求が生まれた時に導入すれば良い。そうすりゃObjCとも大して見た目変わらんしな
generics,typealias,operator overload この辺は無理して使うことない
boilerplate無くしてえなーもっとコードを直感的に書きてえなー、そもそも今までの書き方飽きたから違った書き方してえなー
という欲求が生まれた時に導入すれば良い。そうすりゃObjCとも大して見た目変わらんしな
210デフォルトの名無しさん (ワッチョイ 0f7e-XfY8)
2017/07/29(土) 17:08:58.83ID:wplyINA+0211デフォルトの名無しさん (ワッチョイ 7b11-Fw5N)
2017/08/05(土) 14:14:44.53ID:dw0K286c0 Swift一発屋になってんじゃねえか。
ピコ太郎だってもっとまともにやってるぞ。
もっと頑張れよApple。熱くなれよ!
ピコ太郎だってもっとまともにやってるぞ。
もっと頑張れよApple。熱くなれよ!
212デフォルトの名無しさん (ワッチョイ 9fa9-fAXk)
2017/08/06(日) 17:25:37.14ID:exhLY8Mw0 >>210
言っておくけど、Rxとobjcは全く相性が悪い。
なんでかというとあのobjcのメッセージ式
Rxってメソッドチェーンが無いとかなり実装しづらいのに
objcでは書けないのだよ。
[]のネスト地獄を味わう事になる
言っておくけど、Rxとobjcは全く相性が悪い。
なんでかというとあのobjcのメッセージ式
Rxってメソッドチェーンが無いとかなり実装しづらいのに
objcでは書けないのだよ。
[]のネスト地獄を味わう事になる
213デフォルトの名無しさん (スッップ Sdaf-Q1zC)
2017/08/06(日) 17:36:38.87ID:/dqOVGNEd Rispも知らないんだろうなぁ..
214デフォルトの名無しさん (ワッチョイ 4b7e-LqqZ)
2017/08/06(日) 17:37:55.69ID:A+R4LQxw0215デフォルトの名無しさん (スッップ Sdaf-Q1zC)
2017/08/06(日) 17:49:19.26ID:/dqOVGNEd LISP
216デフォルトの名無しさん (ワッチョイ d9c0-mS7C)
2017/08/06(日) 20:13:36.95ID:uZylSw7t0 Lispのtypoかよw
そういうワードがあるのかと真面目に受け取ってた
あ、自分はvim派なんでelisp含め使ったことないわ
elisp wizardは変態だと尊敬してる
そういうワードがあるのかと真面目に受け取ってた
あ、自分はvim派なんでelisp含め使ったことないわ
elisp wizardは変態だと尊敬してる
217デフォルトの名無しさん (スッップ Sdaf-Q1zC)
2017/08/06(日) 22:21:23.59ID:/dqOVGNEd218デフォルトの名無しさん (ワッチョイ 056c-cJAr)
2017/08/07(月) 09:36:54.43ID:tO02o/C10 >>212
メソッド呼び出しに、ドット構文が使えればObjCも描きやすくなるよねぇ。
Objective-C 3.0に期待だね。
id a = [[NSObject alloc] init];
->id a = NSObject.alloc().init(); // こんな感じ!
メソッド呼び出しに、ドット構文が使えればObjCも描きやすくなるよねぇ。
Objective-C 3.0に期待だね。
id a = [[NSObject alloc] init];
->id a = NSObject.alloc().init(); // こんな感じ!
219デフォルトの名無しさん (ワッチョイ d9c0-mS7C)
2017/08/07(月) 10:15:21.88ID:0r/N/mwc0 既にクラスプロパティとオブジェクトプロパティで実現できてるね!ObjCはすごいね!
クラスプロパティの存在を知らないんだろうなぁ、ObjCについてもうちょっと勉強してこい
クラスプロパティの存在を知らないんだろうなぁ、ObjCについてもうちょっと勉強してこい
220デフォルトの名無しさん (ササクッテロル Sp1f-A0t1)
2017/08/07(月) 11:43:23.35ID:+uPJUr/1p221デフォルトの名無しさん (ワッチョイ d9b5-xdmZ)
2017/08/07(月) 12:05:53.21ID:tDzZ+7xU0 >>218
obj-cの魅力ってあくまでcの拡張でありobj-cの世界は[]の中だけってスタンスであってほしいから
ドット構文?はあんまり増やしてほしくない
個人的にはElixrのパイプ演算子(|>)をobj-cに採用して欲しい。
(元ネタはElixirじゃないかもしれないけど。)
[NSObject alloc] |> [@ init]
みたいな感じで使う。Elixirの場合だと返却値を次のメソッドの第一引数に渡すって意味だけどobj-cでは@を置き換えるみたいな感じで
obj-cの魅力ってあくまでcの拡張でありobj-cの世界は[]の中だけってスタンスであってほしいから
ドット構文?はあんまり増やしてほしくない
個人的にはElixrのパイプ演算子(|>)をobj-cに採用して欲しい。
(元ネタはElixirじゃないかもしれないけど。)
[NSObject alloc] |> [@ init]
みたいな感じで使う。Elixirの場合だと返却値を次のメソッドの第一引数に渡すって意味だけどobj-cでは@を置き換えるみたいな感じで
222デフォルトの名無しさん (ワッチョイ eb23-YyKq)
2017/08/07(月) 16:52:39.28ID:nxE7L61t0 |> の元ネタは F#
223デフォルトの名無しさん (スッップ Sdaf-Q1zC)
2017/08/07(月) 20:27:43.12ID:zWbONOmMd224デフォルトの名無しさん (スッップ Sdaf-Q1zC)
2017/08/07(月) 21:19:58.43ID:zWbONOmMd225デフォルトの名無しさん (ワッチョイ 27e5-j5Xk)
2017/08/07(月) 23:19:41.66ID:+algoHcf0 最近ObjC ageが激しいがnukeとかvaporとか読んで腰が引けちゃった連中が多いのかな?
ああこれc++の再発明かなと思うくらい難解なコードになってきたからな
POPがあるからまだ扱いやすいが
ああこれc++の再発明かなと思うくらい難解なコードになってきたからな
POPがあるからまだ扱いやすいが
226デフォルトの名無しさん (ワッチョイ 7b11-Fw5N)
2017/08/08(火) 23:44:13.59ID:Q/PbX3Ct0 SwiftはC++っぽくて地雷にしか見えない。
闇の軍団が好きそうな言語。
闇の軍団が好きそうな言語。
227デフォルトの名無しさん (ワッチョイ d9c0-mS7C)
2017/08/09(水) 07:04:14.41ID:XdIT1ef80 Swiftアンチスレ part1
http://mevius.2ch.net/test/read.cgi/tech/1458491343/
>>226がアンチスレに行かずObjC ageする狂信者にしか見えない
http://mevius.2ch.net/test/read.cgi/tech/1458491343/
>>226がアンチスレに行かずObjC ageする狂信者にしか見えない
228デフォルトの名無しさん (ワッチョイ 2b0d-adf2)
2017/08/09(水) 13:10:58.09ID:a8XvE3390 Objective-Cがまぁ長年主に言語仕様を弄るんじゃなくて
外部のクラスライブラリ更新で"外"に括り出してきたタイプの問題を
2010年代になっていまさら言語仕様直接変更の繰り返しで泥沼って
そりゃ車輪の再発明ってレベルじゃねーぞっつか…
あきらかに(筋の悪い)車輪を知らないところからの使者が
「おまえら未開の蛮族にまったく新しい言語を作ってやるぜ」って
泥の中でのたうってるのを眺めてるこの感じ。
外部のクラスライブラリ更新で"外"に括り出してきたタイプの問題を
2010年代になっていまさら言語仕様直接変更の繰り返しで泥沼って
そりゃ車輪の再発明ってレベルじゃねーぞっつか…
あきらかに(筋の悪い)車輪を知らないところからの使者が
「おまえら未開の蛮族にまったく新しい言語を作ってやるぜ」って
泥の中でのたうってるのを眺めてるこの感じ。
229デフォルトの名無しさん (ササクッテロリ Spa9-mS7C)
2017/08/09(水) 14:43:22.78ID:7tAKIt6Pp ObjCが長年プロパティ、GC/ARC, ブロック文, nillable, ジェネリクスと言語仕様追加を繰り返して泥沼を作ってる中で
Swiftという新しい泥沼を作ってくれたから皆で泥遊びをしている中、泥遊びって子供かよ・・・と高二病な感じ
一緒に泥遊びしようぜ、やってみたら案外楽しいよ
Swiftという新しい泥沼を作ってくれたから皆で泥遊びをしている中、泥遊びって子供かよ・・・と高二病な感じ
一緒に泥遊びしようぜ、やってみたら案外楽しいよ
230デフォルトの名無しさん (ワッチョイ 056c-cJAr)
2017/08/09(水) 14:56:18.93ID:ocU/hJiZ0231デフォルトの名無しさん (ワッチョイ 33e3-W16a)
2017/08/10(木) 00:13:58.72ID:9Flolen30 泥遊びで沼にはまるのは今日の全国的な運勢なのか?
232デフォルトの名無しさん (ワッチョイ 9a6f-bpxh)
2017/08/11(金) 11:21:49.75ID:1Cu8sv5r0 離れて分かるObjCのやかましさと優しさ
233デフォルトの名無しさん (ワッチョイ 5a6c-Ys+T)
2017/08/15(火) 12:29:40.52ID:y502fzBz0 LattnerがGoogle Brainに就職
やっぱり人工知能やりたいんだな
やっぱり人工知能やりたいんだな
234デフォルトの名無しさん (ワッチョイ 5a6c-Ys+T)
2017/08/15(火) 12:33:22.46ID:y502fzBz0 Google BrainといったらTensorFlow開発してるところだから、これはいよいよTensorFlowがオフィシャルにSwift対応するかもしれん
235デフォルトの名無しさん (ワッチョイ 9a11-0RqM)
2017/08/15(火) 13:50:50.41ID:DSphWfvu0 良かったな、お前らの教祖様の就職先見つかって。
Apple「Swift」の生みの親がテスラの自動運転開発をやめてGoogleの人工知能開発チーム入り
http://gigazine.net/news/20170815-google-hire-apple-engineer/
Apple「Swift」の生みの親がテスラの自動運転開発をやめてGoogleの人工知能開発チーム入り
http://gigazine.net/news/20170815-google-hire-apple-engineer/
236デフォルトの名無しさん (アウアウウー Sac7-DMGg)
2017/08/15(火) 15:23:09.38ID:QsGXg2u5a もう秋田
237デフォルトの名無しさん (ササクッテロラ Spbb-DcVw)
2017/08/15(火) 15:23:31.58ID:MDS+g102p あのおっちゃん短期で技術リーダー採用してくれる所を探してたよな
来年には再転職しそう
来年には再転職しそう
238デフォルトの名無しさん (ワッチョイ 37a9-K8M/)
2017/08/15(火) 15:27:52.81ID:tN8D0FqC0 >>235
kotlinの開発に参加しそう
kotlinの開発に参加しそう
239デフォルトの名無しさん (ワッチョイ 136c-HoSW)
2017/08/19(土) 04:02:37.38ID:H/3D3Ri60 Swift 5のゴールの一つに設定された非同期実行の構文の議論がevolutionメーリスで始まってる
・kicking off concurrency discussions by Ted Kremenek
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170814/038891.html
・async/await + actors by Chris Lattner
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170814/038892.html
・Concurrency in Swift: One possible approach by Chris Lattner
https://gist.github.com/lattner/31ed37682ef1576b16bca1432ea9f782
・kicking off concurrency discussions by Ted Kremenek
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170814/038891.html
・async/await + actors by Chris Lattner
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170814/038892.html
・Concurrency in Swift: One possible approach by Chris Lattner
https://gist.github.com/lattner/31ed37682ef1576b16bca1432ea9f782
240デフォルトの名無しさん (ササクッテロラ Sp4d-rUtp)
2017/08/19(土) 12:28:05.32ID:yjxWeDHXp どうせまたリスケするんでしょ、、、とか思ってるけど
それとは別にラットナー のgist記事がRustのオーナーシップモデルをディスっててワロタ
Rustライクなメモリ管理をSwift4で投入するって言って結局Swift5に持ち越したのは忘れんぞ
ファーストクラスの非同期とファーストクラスのオーナーシップモデルを並走させるのはキッツイだろうがどうするんだろうね
理論的には出来なかないだろうが時間も技術力も足りずどっちかSwift6に持ち越しすることになるんじゃねーのか
それとは別にラットナー のgist記事がRustのオーナーシップモデルをディスっててワロタ
Rustライクなメモリ管理をSwift4で投入するって言って結局Swift5に持ち越したのは忘れんぞ
ファーストクラスの非同期とファーストクラスのオーナーシップモデルを並走させるのはキッツイだろうがどうするんだろうね
理論的には出来なかないだろうが時間も技術力も足りずどっちかSwift6に持ち越しすることになるんじゃねーのか
241デフォルトの名無しさん (ワッチョイ 136c-ysxe)
2017/08/19(土) 12:40:33.92ID:H/3D3Ri60 オーナーシップは初めから「4には入れられないけど」「将来的に〜」ってエクスキューズしてた
オーナーシップを4のゴールに含めるなんて話は一度も出てないはずだが
オーナーシップを4のゴールに含めるなんて話は一度も出てないはずだが
242デフォルトの名無しさん (ワッチョイ 59a9-KV95)
2017/08/19(土) 18:39:02.10ID:a8QxREVh0 思うんだけどrustのオーナーシップモデルって後付で入れられるものなの?
rustを見る限り無理そうだし、
スマホの性能もこれから上がっていく一方なのに学習コストが上がる
メモリオーナシップモデルって導入する意味あるのん?
rustを見る限り無理そうだし、
スマホの性能もこれから上がっていく一方なのに学習コストが上がる
メモリオーナシップモデルって導入する意味あるのん?
243デフォルトの名無しさん (ワッチョイ b111-jLVh)
2017/08/20(日) 00:21:00.45ID:we0VfWa50 学習コストが上がるのはそれを必要とする人だけ
というのも設計要件の一つ
https://github.com/apple/swift/blob/master/docs/OwnershipManifesto.md
>Criteria for success
というのも設計要件の一つ
https://github.com/apple/swift/blob/master/docs/OwnershipManifesto.md
>Criteria for success
244デフォルトの名無しさん (ワッチョイ 7997-Z4cy)
2017/08/21(月) 16:42:51.48ID:mGn9ABqu0 SwiftからObjective-CのArreyを取得しようとすると、x0756846 のような、メモリーアドレス?しかとれないのですが、何か特別な変換とか必要ですか?
245デフォルトの名無しさん (ワッチョイ 196c-2J29)
2017/08/21(月) 16:47:08.07ID:/ym3MI5Q0 >>244
詳しく
詳しく
246デフォルトの名無しさん (ワッチョイ 7997-Z4cy)
2017/08/21(月) 17:20:19.06ID:mGn9ABqu0 >>245
CManeger.mmの関係しそうなところ
@property (nonatomic, readwrite) NSArray *hoge;
データ取得関数の最後に
self.hoge = hoge.array;
dispatch_async(dispatch_get_main_queue(), ^{
[self.delegate CManager:self didCompleteWithCandidates:self.hoge];
});
とあり、ブレークポイントはって確認すると、取得したデータがhogeにある。
HOGE-Bridging-Header.h
#import "CManager.h"
Hoge.swift
let objcCMng = CManager()
let ret = objvCMng.hoge
print(ret)
出力データは
Optinal([<CCandidate: 0x170226b80> , <CCandidate: 0x170226ce0>)]
という感じになります。
ただし、デバックエリアで確認するとself>objcCMng>_hoge>_orderedSet>_array>[x]>_hogeに取得データがあることは確認できます。
型変換か何か必要なのでしょうか?
CManeger.mmの関係しそうなところ
@property (nonatomic, readwrite) NSArray *hoge;
データ取得関数の最後に
self.hoge = hoge.array;
dispatch_async(dispatch_get_main_queue(), ^{
[self.delegate CManager:self didCompleteWithCandidates:self.hoge];
});
とあり、ブレークポイントはって確認すると、取得したデータがhogeにある。
HOGE-Bridging-Header.h
#import "CManager.h"
Hoge.swift
let objcCMng = CManager()
let ret = objvCMng.hoge
print(ret)
出力データは
Optinal([<CCandidate: 0x170226b80> , <CCandidate: 0x170226ce0>)]
という感じになります。
ただし、デバックエリアで確認するとself>objcCMng>_hoge>_orderedSet>_array>[x]>_hogeに取得データがあることは確認できます。
型変換か何か必要なのでしょうか?
247デフォルトの名無しさん (ワッチョイ 096f-uL9b)
2017/08/22(火) 07:28:48.92ID:yXinq9w70248デフォルトの名無しさん (ワッチョイ 7997-Z4cy)
2017/08/22(火) 08:07:48.74ID:uTo9s4E+0249デフォルトの名無しさん (ワッチョイ f9ea-CZr6)
2017/08/22(火) 11:05:06.00ID:3GURQKJz0 何がみたいのかよくわからんのだが、、
dumpだとどうなる?
dumpだとどうなる?
250デフォルトの名無しさん (ワッチョイ 136c-HoSW)
2017/08/22(火) 12:26:03.39ID:t4xHLqmy0 多分descriptionをオーバーライドしてなくてprintで<CCandidate: 0x170226b80>みたいに出力されるのと、型変換してなくて[AnyObject]?型のままになってるのの複合で混乱してるんだろう
前者はCCandidateのdescriptionを自分の望みどおりの出力をするようにオーバーライドすればいい
後者はSwift側で as? [CCandidate] するか、Obj-C側で @property (nonnull, nonatomic, copy) NSArray<__kindof CCandidate *> *hoge; とかすればいい
前者はCCandidateのdescriptionを自分の望みどおりの出力をするようにオーバーライドすればいい
後者はSwift側で as? [CCandidate] するか、Obj-C側で @property (nonnull, nonatomic, copy) NSArray<__kindof CCandidate *> *hoge; とかすればいい
251デフォルトの名無しさん (ワッチョイ 7997-Z4cy)
2017/08/22(火) 21:55:20.85ID:uTo9s4E+0 >>249
some: 2 elements
- <CCandidate: 0x170226b80> #0
super: NSObject
- <CCandidate: 0x170226ce0> #1
super: NSObject
となります。
まだはまってます…
some: 2 elements
- <CCandidate: 0x170226b80> #0
super: NSObject
- <CCandidate: 0x170226ce0> #1
super: NSObject
となります。
まだはまってます…
252デフォルトの名無しさん (ワッチョイ 99d1-pVc9)
2017/08/22(火) 22:44:59.20ID:XQhpAbMj0 何したいのかいまいちわからんな
>>250のいう通りにすればいいだけだろとしか思えない
>>250のいう通りにすればいいだけだろとしか思えない
253デフォルトの名無しさん (ワッチョイ 7997-Z4cy)
2017/08/22(火) 23:00:38.58ID:uTo9s4E+0 >>250
ありがとうございます。
書き込み頂いた情報を元に、objc-cの言語仕様を調べながら触ったんですが解決せず、AnyObjectに問題を絞りこんで見ました。
結果、出力部分のコードを書き替え、データの取得が出来ました。
for i in 0..<objvCMng.candidates.count{
let ret = objvCMng.candidates[i] as AnyObject
print(ret.candidate)
}
皆様、ありがとうございました。
ありがとうございます。
書き込み頂いた情報を元に、objc-cの言語仕様を調べながら触ったんですが解決せず、AnyObjectに問題を絞りこんで見ました。
結果、出力部分のコードを書き替え、データの取得が出来ました。
for i in 0..<objvCMng.candidates.count{
let ret = objvCMng.candidates[i] as AnyObject
print(ret.candidate)
}
皆様、ありがとうございました。
254デフォルトの名無しさん (ワッチョイ 7997-Z4cy)
2017/08/22(火) 23:03:37.53ID:uTo9s4E+0 >>253
candidatesとhoge置き換えミスってます…
candidatesとhoge置き換えミスってます…
255デフォルトの名無しさん (ワッチョイ 5b8f-2J29)
2017/08/23(水) 14:27:29.61ID:QEgHjRh50 let blue = #colorLiteral(red: 0, green: 0.4577052593, blue: 1, alpha: 1)
let white = #colorLiteral(red: 0.7803494334, green: 0.7761332393, blue: 0.7967314124, alpha: 1)
let orange = #colorLiteral(red: 1, green: 0.5803921569, blue: 0, alpha: 1)
let red = #colorLiteral(red: 1, green: 0.2352941176, blue: 0.1882352941, alpha: 1)
let white = #colorLiteral(red: 0.7803494334, green: 0.7761332393, blue: 0.7967314124, alpha: 1)
let orange = #colorLiteral(red: 1, green: 0.5803921569, blue: 0, alpha: 1)
let red = #colorLiteral(red: 1, green: 0.2352941176, blue: 0.1882352941, alpha: 1)
256デフォルトの名無しさん (ワッチョイ c6b8-prRB)
2017/08/27(日) 21:39:01.72ID:rI0KXWhq0 型推論とか何がうれしいのかさっぱりわからん
257デフォルトの名無しさん (ワッチョイ 86e3-vgeI)
2017/08/27(日) 21:46:40.55ID:sRToL0oW0 長ったらしい型名ばっかのコードは思考が阻害される
型チェックはしてるんだからべつにデメリットもない
型チェックはしてるんだからべつにデメリットもない
258デフォルトの名無しさん (ワッチョイ ad32-vBqz)
2017/08/28(月) 10:03:17.19ID:zqhpekJb0 ビルドに時間がかかるようになるだろ。型推論なんて使わないほうがいい
259デフォルトの名無しさん (ワッチョイ c66f-c9Ri)
2017/08/28(月) 13:08:18.25ID:A8OmMbPi0 Swiftの型推論は単純だからObjCの型チェックとビルド時間は変わらないけどな
Rustくらいに賢い型推論して欲しいよ
Rustくらいに賢い型推論して欲しいよ
260デフォルトの名無しさん (ワッチョイ 0a6c-fIML)
2017/08/28(月) 13:53:01.33ID:diAyE3fu0261デフォルトの名無しさん (ワッチョイ c66f-c9Ri)
2017/08/28(月) 14:18:27.43ID:A8OmMbPi0 その解説だと型推論じゃなく数値型がstructであることが本質の問題だよね?
let a: Double = -(1 + 2) + -(3 + 4) + -(5)
と
double a = -(1 + 2) + -(3 + 4) + -(5);
で違いが出るならそれはコンパイラ組み込み型を常用せずstruct型扱うからでしょ
プリミティブ型削って構造体型を多用するSwiftはイマドキだよな
NSIntegerみたいに32bitなのか64bitなのか分からんことになるよりは良きも悪きもあるわな
let a: Double = -(1 + 2) + -(3 + 4) + -(5)
と
double a = -(1 + 2) + -(3 + 4) + -(5);
で違いが出るならそれはコンパイラ組み込み型を常用せずstruct型扱うからでしょ
プリミティブ型削って構造体型を多用するSwiftはイマドキだよな
NSIntegerみたいに32bitなのか64bitなのか分からんことになるよりは良きも悪きもあるわな
262デフォルトの名無しさん (ササクッテロル Sp6d-4l+0)
2017/08/28(月) 15:25:06.44ID:2ASNlnOhp 推論に任せないで型を記述した方がコードの見通しが良い気がする
263デフォルトの名無しさん (アウアウウー Sa91-prRB)
2017/08/28(月) 16:07:09.49ID:zbhwRStaa 型を決定するために5cm以上目線の移動がある場合は型を記述したほうがいい俺ルール
264デフォルトの名無しさん (アウアウカー Sa85-yhlS)
2017/08/28(月) 18:24:28.18ID:TLOgdRREa ジェネリクスみたいに長い同じ型を何度も書く羽目になるやつは
混ぜた方が見やすい
混ぜた方が見やすい
265デフォルトの名無しさん (ワッチョイ ca11-RJsg)
2017/08/30(水) 14:36:49.38ID:VdDjZJhL0 Swift 3移行まだしてない人いる?
うちの会社は再テスト面倒で未だに2.4使ってるんだが。
Swift 2.4 -> Swift 4で済ませようかなって思ってる。
うちの会社は再テスト面倒で未だに2.4使ってるんだが。
Swift 2.4 -> Swift 4で済ませようかなって思ってる。
266デフォルトの名無しさん (スップ Sdea-wqH8)
2017/08/30(水) 18:51:32.33ID:OtY774nId そもそもSwiftに移行してない(する必要がない)
267デフォルトの名無しさん (ワッチョイ ca36-c9Ri)
2017/08/30(水) 20:15:16.63ID:thVvZo3p0 自分とこは業務でSwift使うの金かかりすぎると2.2の後は3にせずObjCに移行した
メンテ工数かかるし素直に実装し直しを検討した方が良いんではないかね
1.1から2.2まで商用コードをメンテした過去の自分らを褒めたい
メンテ工数かかるし素直に実装し直しを検討した方が良いんではないかね
1.1から2.2まで商用コードをメンテした過去の自分らを褒めたい
268デフォルトの名無しさん (ワッチョイ ca36-c9Ri)
2017/08/30(水) 20:18:06.98ID:thVvZo3p0 >>266
Swift使ったことないなら参考にならないから黙ってるといいよ:D
Swift使ったことないなら参考にならないから黙ってるといいよ:D
269デフォルトの名無しさん (ワッチョイ caea-4l+0)
2017/08/30(水) 21:18:13.08ID:YXsmLmn70 移行してない=使った事が無いというのは発想が貧弱ではなかろうか
270デフォルトの名無しさん (JP 0H1f-6h2J)
2017/08/31(木) 11:59:18.93ID:JBBnINAhH func sum(i:Int, i2;Int, i3:Int) -> Int{
return i + i2 + i3
-> Intが後ろの方にあるの、変な感じがするんですよ
func Int sum(i:Int, i2;Int, i3:Int)
こうしなかったのは、どうしてですか?
return i + i2 + i3
-> Intが後ろの方にあるの、変な感じがするんですよ
func Int sum(i:Int, i2;Int, i3:Int)
こうしなかったのは、どうしてですか?
271デフォルトの名無しさん (ワッチョイ ff6c-rAel)
2017/08/31(木) 13:28:27.51ID:BMQTj5G50 データの流れが左→右になってる方が自然じゃん
272デフォルトの名無しさん (ブーイモ MMa7-fXYx)
2017/08/31(木) 14:28:39.15ID:T53Le00sM c++でも型推論が簡潔にかけるという理由で戻り値の後置構文が追加された。
その経緯をみて決めたんじゃないかな。
その経緯をみて決めたんじゃないかな。
273デフォルトの名無しさん (JP 0H1f-6h2J)
2017/08/31(木) 15:01:17.58ID:speSRrScH そうなんですか
ありがとうございます
ありがとうございます
274デフォルトの名無しさん (ワッチョイ bf2a-uJLR)
2017/08/31(木) 20:57:25.67ID:sd7zZNUq0 >>272
アレってtemplateの引数依存の戻り値を返したいからじゃなかったの?
コンパイラに型導出させてウマー、っていう
template<typename T, typename U>
auto operator+(const T& t, const U& u) -> decltype(t +u) { return t + u; }
アレってtemplateの引数依存の戻り値を返したいからじゃなかったの?
コンパイラに型導出させてウマー、っていう
template<typename T, typename U>
auto operator+(const T& t, const U& u) -> decltype(t +u) { return t + u; }
275デフォルトの名無しさん (エムゾネ FF1f-wHLy)
2017/08/31(木) 21:37:07.95ID:T26Psf+nF >>270
C言語っぽくないことにとことんこだわったから
C言語っぽくないことにとことんこだわったから
276デフォルトの名無しさん (エムゾネ FF1f-wHLy)
2017/08/31(木) 21:38:38.24ID:T26Psf+nF277デフォルトの名無しさん (ワッチョイ cfe3-6h2J)
2017/08/31(木) 21:46:11.82ID:67nUNCV40 xcodeが使いにくいんですがjetbrains製のideでiosアプリ開発ってできるんでしょうか
278デフォルトの名無しさん (ワッチョイ b372-MmNF)
2017/08/31(木) 22:40:30.26ID:wvV2BO1O0 >>277
じゃXamarinで
じゃXamarinで
279デフォルトの名無しさん (オイコラミネオ MMff-ygYq)
2017/09/01(金) 09:16:09.66ID:HGna/n2GM 何が使いにくいのか?
慣れの問題もあるの思うが
とりあえずAppCode触ってみたら?
慣れの問題もあるの思うが
とりあえずAppCode触ってみたら?
280デフォルトの名無しさん (ワッチョイ 1a23-WPj4)
2017/09/10(日) 10:24:46.29ID:WzSbM0WV0 realmはcasecade使えるようになりましたか?
281デフォルトの名無しさん (アウアウウー Sa4f-2CVX)
2017/09/21(木) 14:05:19.12ID:lAXpPURMa Swift 5の目標が確定、新たな発展プロセスを定義
https://www.infoq.com/jp/news/2017/09/swift-5-development-plan
https://www.infoq.com/jp/news/2017/09/swift-5-development-plan
282デフォルトの名無しさん (ワッチョイ 8a11-rQyF)
2017/09/21(木) 14:24:19.47ID:RYxOp7LL0 この言語仕様改定多すぎだろ。
C++が三年周期でやってることをこいつら一年単位でやってねえか?
C++が三年周期でやってることをこいつら一年単位でやってねえか?
283デフォルトの名無しさん (ワッチョイ ffe3-PvnN)
2017/09/21(木) 19:20:52.43ID:A6hqPBkJ0 $0$1とか平気でねじこんでくるけどな
284デフォルトの名無しさん (ワッチョイ 3b5f-nqY2)
2017/09/21(木) 22:36:11.43ID:ejY1DQq00 xcode9で新規に画像がimageViewに表示されないんだが
xcode8で作成したものは9でも表示される。
iMacもMacBook Proも同じ現象なんだが俺だけだろうか
xcode8で作成したものは9でも表示される。
iMacもMacBook Proも同じ現象なんだが俺だけだろうか
285デフォルトの名無しさん (ワッチョイ 4a6c-XL2s)
2017/09/21(木) 22:39:34.63ID:/Wyc4aYf0 どうせ画像をターゲットに入れてないとかしょうもないオチだろ
286デフォルトの名無しさん (ワッチョイ 8a91-nqY2)
2017/09/22(金) 05:01:32.15ID:IsCSmXsD0 284ですが解決したので一応報告。
Xcode 9のバグでした。
画像をドラッグアンドドロップではシュミレーターで画像ファイルが
参照出来ない。
メニューから画像追加で表示されるようになりました。
Xcode 9のバグでした。
画像をドラッグアンドドロップではシュミレーターで画像ファイルが
参照出来ない。
メニューから画像追加で表示されるようになりました。
287デフォルトの名無しさん (ワッチョイ 4a6c-XL2s)
2017/09/22(金) 05:01:48.93ID:+ICiQEoA0 >>282
Javaは今後6ヶ月ごとにバージョンアップらしいで
Javaは今後6ヶ月ごとにバージョンアップらしいで
288デフォルトの名無しさん (ワッチョイ 8a11-rQyF)
2017/09/22(金) 11:48:39.33ID:wHlrrV1C0 もうSwift対応つかれたお・・・
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 [蚤の市★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ [Hitzeschleier★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 石破に後ろから鉄砲やめろ!て言う人いるじゃん?石破政権時の石破降ろしには後ろ撃ちと批判しなかったのはなぜ [472617201]
- はいはい
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【悲報】麻生太郎さん、オムツをしていた。晋さん…ここにいたんだね… [731544683]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★5
