WWDC2014で発表されたAppleの新言語Swiftについて語りましょう
関連スレ
プログラミング言語Swift Part4
http://potato.2ch.net/test/read.cgi/mac/1484763495/
[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://potato.2ch.net/test/read.cgi/mac/1484217623/
Xcode part14
http://potato.2ch.net/test/read.cgi/mac/1476190499/
Swiftアンチスレ part1
http://echo.2ch.net/test/read.cgi/tech/1458491343/
前スレ
Swift part9
http://echo.2ch.net/test/read.cgi/tech/1476758084/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
Swift part10 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 3b3c-eq+O)
2017/02/20(月) 10:00:13.40ID:ChbPWtRt0449デフォルトの名無しさん (ワッチョイ 6b0f-T1v3)
2017/04/27(木) 08:03:13.29ID:T2cThVGm0 いやだからなんでfuncって書くのにメソッドやねん
だったらmethにでもしとけばええやん
だったらmethにでもしとけばええやん
450デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 08:35:20.62ID:7p4DwLyja グローバルな関数とメソッドでfuncとmethを書き分けろっての?
ただの関数にmethとか使うのは抵抗あるわ
メソッドにfunc使うのは他の言語の例もあるので違和感ないけど
ただの関数にmethとか使うのは抵抗あるわ
メソッドにfunc使うのは他の言語の例もあるので違和感ないけど
451デフォルトの名無しさん (アウアウエー Sa7f-cD9Q)
2017/04/27(木) 09:04:29.23ID:N3r3uYtra そもそもメソッドというのはSmalltalkのコミュニティが使い始めた用語で
もともともはメッセージを受け取ったオブジェクトが目指すゴールを記述するための新しい言語要素を想定してたんだよね
だけど、けっきょくそのSmalltalkも-76以降はSimula67(ALGOLの拡張)スタイルの普通の関数に落ち着いたし
その後ブームとなったJavaもそのまま用語を採用した経緯もあって
メソッドと関数っていうのはインスタンスとオブジェクトみたいなもので区別はあまり意味をもたなくなっちゃっている
強いて言えば、クラスに属する(言語によってはプラスして暗黙のselfを受け取れる)関数をメソッドと呼ぶとかゆるいくくり
もともともはメッセージを受け取ったオブジェクトが目指すゴールを記述するための新しい言語要素を想定してたんだよね
だけど、けっきょくそのSmalltalkも-76以降はSimula67(ALGOLの拡張)スタイルの普通の関数に落ち着いたし
その後ブームとなったJavaもそのまま用語を採用した経緯もあって
メソッドと関数っていうのはインスタンスとオブジェクトみたいなもので区別はあまり意味をもたなくなっちゃっている
強いて言えば、クラスに属する(言語によってはプラスして暗黙のselfを受け取れる)関数をメソッドと呼ぶとかゆるいくくり
452デフォルトの名無しさん (エムゾネ FF7f-T1v3)
2017/04/27(木) 09:05:58.12ID:OI3ixlBfF funcyな言語やで
453デフォルトの名無しさん (ワッチョイ 0bf3-czGs)
2017/04/27(木) 10:36:56.84ID:OuTFIb+i0454デフォルトの名無しさん (アウアウエー Sa7f-cD9Q)
2017/04/27(木) 11:23:38.37ID:N3r3uYtra >>453
ああ、それはSmalltalkの(というかOOPの)メッセージングというコンセプトをよくわかっていない人がやりがちな間違いで
メッセージと、それを送ることでコールされるメソッド(関数)は別物
たとえばメッセージ(仮にmとしよう)を送ってもmとは関係ないメソッドがコールされることもあるし
極端な話、何もしないという選択肢(振る舞い)もありうる
もっとも多くの場合、メッセージ(厳密にはメッセージを構成するセレクタ)とメソッド名は一致させるのが普通なので
混同するのも無理からぬことだけれども
ああ、それはSmalltalkの(というかOOPの)メッセージングというコンセプトをよくわかっていない人がやりがちな間違いで
メッセージと、それを送ることでコールされるメソッド(関数)は別物
たとえばメッセージ(仮にmとしよう)を送ってもmとは関係ないメソッドがコールされることもあるし
極端な話、何もしないという選択肢(振る舞い)もありうる
もっとも多くの場合、メッセージ(厳密にはメッセージを構成するセレクタ)とメソッド名は一致させるのが普通なので
混同するのも無理からぬことだけれども
455デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 11:49:48.89ID:7p4DwLyja Obj-Cの場合はメッセージ=メソッド的なとこあるけど、Smalltalkは違うんかね
456デフォルトの名無しさん (アウアウエー Sa7f-cD9Q)
2017/04/27(木) 12:55:56.69ID:N3r3uYtra >>455
んー、Obj-Cのコミュニティ(Appleの公式文書も含め)が勘違いを広めているってよくない傾向はあるけど
Obj-CもSmalltalkもメッセージングの根本の考え方は変わらない
そもそもObj-CはSmalltalkのやっていることをCのプリプロセッサでやろうとした試みからスタートしたので変えたら意味ないし
ちなみにそのときの文法はまだメッセージ式ではなかったから純粋にコンセプトだけをなぞろうとしたことがわかる
http://dl.acm.org/citation.cfm?id=948095 (残念ながら有償)
mySodaMachine = {| SodaMachine, "comb:model:", 23, 4 |};
んー、Obj-Cのコミュニティ(Appleの公式文書も含め)が勘違いを広めているってよくない傾向はあるけど
Obj-CもSmalltalkもメッセージングの根本の考え方は変わらない
そもそもObj-CはSmalltalkのやっていることをCのプリプロセッサでやろうとした試みからスタートしたので変えたら意味ないし
ちなみにそのときの文法はまだメッセージ式ではなかったから純粋にコンセプトだけをなぞろうとしたことがわかる
http://dl.acm.org/citation.cfm?id=948095 (残念ながら有償)
mySodaMachine = {| SodaMachine, "comb:model:", 23, 4 |};
457デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/27(木) 14:07:08.57ID:Wv+Yc+Vq0 Methods are functions that are associated with a particular type
以上。
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html
以上。
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html
458デフォルトの名無しさん (ササクッテロラ Sp1f-eQq1)
2017/04/27(木) 14:47:27.97ID:52wV30cHp 以上って言っても、small talkやobjcについてスレチ上等で会話してる奴等には通じない、、、
大元の>>440だけ考えたら、コード上でfunc, methの書き分けなんて面倒っていう
コンパイラ側とコーダー側の双方メリットによるものだろうよ
大元の>>440だけ考えたら、コード上でfunc, methの書き分けなんて面倒っていう
コンパイラ側とコーダー側の双方メリットによるものだろうよ
459デフォルトの名無しさん (ワッチョイ 5b3c-C6JC)
2017/04/27(木) 15:27:43.95ID:573QYR970 戻り値が void の function なんてのは C で初めて見た。
例えば BASIC や Pascal では戻り値が無いのは procedure で 戻り値があるのが function だ。
method はやり方とか手順とかいう意味で routine や procedure と同じような意味合いだ。
function というからには副作用が無い(引数以外が戻り値に影響しない)ことを期待したいところだが、「機能」という意味合いに着目すると、これらの中で最も曖昧であって、一つで済ませるなら便利かもね。
例えば BASIC や Pascal では戻り値が無いのは procedure で 戻り値があるのが function だ。
method はやり方とか手順とかいう意味で routine や procedure と同じような意味合いだ。
function というからには副作用が無い(引数以外が戻り値に影響しない)ことを期待したいところだが、「機能」という意味合いに着目すると、これらの中で最も曖昧であって、一つで済ませるなら便利かもね。
460デフォルトの名無しさん (JP 0H9f-PkLO)
2017/04/27(木) 16:23:53.95ID:a+4IBLmkH Cのvoidはアキュムレータの値を還すよ
461デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 16:43:42.91ID:QxU5eB0Ka そんなもの返されたところで使い道は無ぇ
462デフォルトの名無しさん (ワッチョイ 5bf3-nUWF)
2017/04/27(木) 16:48:34.82ID:R6dFUrFW0 るーびーですねわかります
463デフォルトの名無しさん (ワッチョイ 0f92-oOkd)
2017/04/27(木) 19:19:04.75ID:5OLYtE1F0 >>460
それは返すとは言いません
それは返すとは言いません
464デフォルトの名無しさん (スップ Sd7f-T1v3)
2017/04/27(木) 21:03:25.93ID:8BI3unQLd465デフォルトの名無しさん (ワッチョイ bb3c-L4LY)
2017/04/27(木) 21:31:33.44ID:i5BzzK+e0466デフォルトの名無しさん (ササクッテロラ Sp1f-eQq1)
2017/04/27(木) 22:14:36.28ID:52wV30cHp 教祖様がコード上はfuncをキーワードにするけど、>>457の通り人間向けはmethodがいいって言ってる
ケースバイケースで言い換えたい所存、信仰したくない宗教だけど敬意は払う
信者はsmall talk原理主義やobjc至上主義で討論してるけど結論出ないだろ
ケースバイケースで言い換えたい所存、信仰したくない宗教だけど敬意は払う
信者はsmall talk原理主義やobjc至上主義で討論してるけど結論出ないだろ
467デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/27(木) 23:12:26.96ID:Wv+Yc+Vq0 >>464
メソッドって呼んだ場合は単なる関数じゃなく
クラスや構造体なんかの特定の型に紐付いた関数だっていう意味が付随するの
それが不要だと思うなら全部関数って呼べばいいと思うよ
メソッドに限らずクロージャなんて呼ばずに全部関数って呼んでもいいし
逆に関数なんて呼ばずに全部クロージャって呼んでもいい
メソッドって呼んだ場合は単なる関数じゃなく
クラスや構造体なんかの特定の型に紐付いた関数だっていう意味が付随するの
それが不要だと思うなら全部関数って呼べばいいと思うよ
メソッドに限らずクロージャなんて呼ばずに全部関数って呼んでもいいし
逆に関数なんて呼ばずに全部クロージャって呼んでもいい
468デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/27(木) 23:16:43.40ID:Wv+Yc+Vq0469デフォルトの名無しさん (スップ Sd7f-T1v3)
2017/04/27(木) 23:28:54.98ID:8BI3unQLd470デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/27(木) 23:37:34.54ID:+McxYUoga キーワードないと宣言なのか呼び出しなのかコンパイラも判断に迷うだろ
471デフォルトの名無しさん (ワッチョイ 5ff3-L4LY)
2017/04/28(金) 00:05:28.20ID:uTZO7qUH0472デフォルトの名無しさん (アウアウウー Sa9f-L4LY)
2017/04/28(金) 04:06:13.32ID:TMPExC9ya arc4random()をIntに入れるのに完璧なやり方ってある?
473デフォルトの名無しさん (スップ Sd7f-T1v3)
2017/04/28(金) 05:07:09.24ID:dZlKtiRpd >>470
Cはそんなfuncとかいうキーワードないのに成り立ってて不思議だね
Cはそんなfuncとかいうキーワードないのに成り立ってて不思議だね
474デフォルトの名無しさん (スップ Sd7f-Ch68)
2017/04/28(金) 07:34:38.00ID:NEA7d0M1d C言語の場合
プロトタイプ宣言
と言うように、宣言はメモリの確保を伴わない
関数定義
と言うように、定義はメモリの確保を伴う
オブジェクト指向の場合はどうなるんだろうね
コードは宣言でインスタンス化は定義かな
プロトタイプ宣言
と言うように、宣言はメモリの確保を伴わない
関数定義
と言うように、定義はメモリの確保を伴う
オブジェクト指向の場合はどうなるんだろうね
コードは宣言でインスタンス化は定義かな
475デフォルトの名無しさん (ワッチョイ 6b0f-LXZo)
2017/04/28(金) 08:07:22.91ID:+uUUmIhK0 JavaとかObjective-Cでもfuncとかいうキーワードはないのに成り立ってるね
476デフォルトの名無しさん (ワッチョイ 5b05-yA3i)
2017/04/28(金) 08:23:00.72ID:Z9SVt9YO0 他の新興言語のgoやrustはキーワードつけてるね
あってもなくても成り立たなくはないけど、ある方が流行りなんでしょ
他言語文法仕様をパクってモダンなものを作るんだから流行りに合わせてつけるのは当然でしょ
あってもなくても成り立たなくはないけど、ある方が流行りなんでしょ
他言語文法仕様をパクってモダンなものを作るんだから流行りに合わせてつけるのは当然でしょ
477デフォルトの名無しさん (ワッチョイ 6b0f-LXZo)
2017/04/28(金) 08:24:09.58ID:+uUUmIhK0 なるほどモダンねぇ...
478デフォルトの名無しさん (ワッチョイ 5ff3-L4LY)
2017/04/28(金) 08:25:01.60ID:uTZO7qUH0 型が後置だからだろ
479デフォルトの名無しさん (エムゾネ FF7f-T1v3)
2017/04/28(金) 08:59:20.10ID:1TnL0+oaF480デフォルトの名無しさん (ササクッテロラ Sp1f-eQq1)
2017/04/28(金) 09:15:26.74ID:HrVNNKWrp いや、後置でもコンパイラが頑張ればできるでしょ
481デフォルトの名無しさん (スプッッ Sd1f-xKwp)
2017/04/28(金) 09:57:20.06ID:Ac9Dm7bId 明示しないとコンパイラだけじゃなく人間も頑張らなくちゃならなくなるかも
482デフォルトの名無しさん (アウアウエー Sa7f-L4LY)
2017/04/28(金) 10:00:18.34ID:K29gCEJ0a >>473
Cは変数も関数も型宣言(関数の場合は返り値の型)が先にくるからね
Cは変数も関数も型宣言(関数の場合は返り値の型)が先にくるからね
483デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/28(金) 16:06:25.59ID:pTZXbcwl0 構文解析の問題だからメモリ確保云々は関係ないでしょ
funcキーワードを使わないとして
例えば foo() {…} と書いた場合にこれが関数定義なのか
Trailing Closureを付けて関数を実行しようとしてるのか{…}の中身を調べないと分からないし
未定義のものを実行しようとしてるのかどうかの判定も困難
キーワードがあることで構文解析・静的解析・型推論なんかで有利に働いて
言語としての表現力や安全性が高まる 特に表現力
funcじゃなくてletやvarを使ってもいい(Swift的にはこれらは関数とは呼ばないけど)
let foo = {print(“foo”)}
let bar = {() -> () in print(“bar”)}
let baz: () -> () = {…}
funcキーワードを使わないとして
例えば foo() {…} と書いた場合にこれが関数定義なのか
Trailing Closureを付けて関数を実行しようとしてるのか{…}の中身を調べないと分からないし
未定義のものを実行しようとしてるのかどうかの判定も困難
キーワードがあることで構文解析・静的解析・型推論なんかで有利に働いて
言語としての表現力や安全性が高まる 特に表現力
funcじゃなくてletやvarを使ってもいい(Swift的にはこれらは関数とは呼ばないけど)
let foo = {print(“foo”)}
let bar = {() -> () in print(“bar”)}
let baz: () -> () = {…}
484デフォルトの名無しさん (ワッチョイ 5ff3-L4LY)
2017/04/28(金) 18:44:38.27ID:uTZO7qUH0 >>472
Intに入れるじゃ何聞きたいのか分からん
var result: Int = 0
arc4random_buf(&result, MemoryLayout.size(ofValue: result))
こういう話?
それとももっと別の話なのか
Intに入れるじゃ何聞きたいのか分からん
var result: Int = 0
arc4random_buf(&result, MemoryLayout.size(ofValue: result))
こういう話?
それとももっと別の話なのか
485デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)
2017/04/28(金) 21:07:49.54ID:pTZXbcwl0486デフォルトの名無しさん (ワッチョイ 9f9d-w1TE)
2017/05/06(土) 16:47:48.74ID:3sfm3EzD0 『詳解Swift』ってどう?Amazonの評価は真っ二つに別れているんだけど
487デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 17:06:44.06ID:Vgrr/US10488デフォルトの名無しさん (ササクッテロロ Spf7-3eBY)
2017/05/06(土) 17:17:20.80ID:Du+O4KVHp 中上級者向けの本で内容を理解出来ないと悪いレビューつける奴いるしな
489デフォルトの名無しさん (ササクッテロリ Spf7-rRTA)
2017/05/06(土) 17:32:44.31ID:rU3gcFGYp swift 3に対応した3版は出たのかねぇ
作者も読者も疲れてそうだと思った
作者も読者も疲れてそうだと思った
490デフォルトの名無しさん (ワッチョイ f23c-q6do)
2017/05/06(土) 17:49:37.89ID:l3lhsLeM0 >>486
Appleの公式本読めば十分だよ
日本語という以外の付加価値は全くないけど
公式本に近い内容を日本語で読みたければ買ってもいいと思う
一度読んだら辞書的な使い方はしないので電子版のほうがオススメ
あと荻原本は公式本よりやや説明がくどいので好き嫌い分かれる
目新しい概念をわかりやすく説明してくれてたりはしない
Appleの公式本読めば十分だよ
日本語という以外の付加価値は全くないけど
公式本に近い内容を日本語で読みたければ買ってもいいと思う
一度読んだら辞書的な使い方はしないので電子版のほうがオススメ
あと荻原本は公式本よりやや説明がくどいので好き嫌い分かれる
目新しい概念をわかりやすく説明してくれてたりはしない
491デフォルトの名無しさん (アウアウウー Sab3-aLIQ)
2017/05/06(土) 17:50:10.60ID:Vu96M1x5a >>488
百田尚樹の本をサヨクが理解出来ないのと一緒だな
百田尚樹の本をサヨクが理解出来ないのと一緒だな
492デフォルトの名無しさん (スッップ Sd52-YlV+)
2017/05/06(土) 17:50:47.77ID:tXDjXsMUd どうせSwiftの自己満仕様変更で古くなる参考書を何故買うかね?
493デフォルトの名無しさん (ワッチョイ 9f9d-w1TE)
2017/05/06(土) 19:55:06.44ID:3sfm3EzD0 古くなるのが嫌なら、IT系の本、特に入門書なんて全部買えないだろ。
それに図書館で買ってもらって読むって手もあるし。
それに図書館で買ってもらって読むって手もあるし。
494デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 20:50:30.20ID:Vgrr/US10495デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 20:51:18.32ID:Vgrr/US10 >>491
素晴らしい比喩
素晴らしい比喩
496デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 20:52:39.76ID:Vgrr/US10497デフォルトの名無しさん (アウアウカー Sa1f-3eBY)
2017/05/06(土) 20:54:11.98ID:A6Xoj7sWa コンピュータの世界はどんどん新しくなるのが当たり前だろ。
言語は、その中でもまだ遅い方よ。
言語は、その中でもまだ遅い方よ。
498デフォルトの名無しさん (JP 0H4b-vxmx)
2017/05/06(土) 21:30:38.70ID:RxOQwEquH ネットの情報は新旧混在ですぐデブリだらけになるからな
499デフォルトの名無しさん (アウアウエー Sa4a-dJIr)
2017/05/06(土) 21:58:01.55ID:I53ls5gra どんどん新しくなるといいながら、未だにフォン・ノイマン型が主流なんだよな
500デフォルトの名無しさん (アウアウカー Sa1f-3eBY)
2017/05/06(土) 22:03:44.34ID:A6Xoj7sWa 分野による。
組み込みじゃハーバード型が主流。
組み込みじゃハーバード型が主流。
501デフォルトの名無しさん (アウアウエー Sa4a-dJIr)
2017/05/06(土) 22:12:19.08ID:I53ls5gra ハーバード型もパラダイム的には大して変わんねーから
502デフォルトの名無しさん (アウアウカー Sa1f-3eBY)
2017/05/06(土) 22:17:28.66ID:A6Xoj7sWa データと命令で分かれてるのは地味に重要だぞ。
高速なCPUじゃ分かりにくいかもだが、低速になる程顕著。
高速なCPUじゃ分かりにくいかもだが、低速になる程顕著。
503デフォルトの名無しさん (スッップ Sd52-YlV+)
2017/05/06(土) 22:31:46.28ID:tXDjXsMUd >>496
言いたいことはまだ発展途上の言語はweb上のドキュメント参照しとけばいいってことだよ
言いたいことはまだ発展途上の言語はweb上のドキュメント参照しとけばいいってことだよ
504デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 22:35:29.44ID:Vgrr/US10505デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 22:37:36.61ID:Vgrr/US10 フォン・ノイマン型 ハーバード型
ってなんの話だ?
ってなんの話だ?
506デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/06(土) 22:39:01.34ID:Vgrr/US10 AVR, PIC vs Intel, ARM
って事なのね。
って事なのね。
507デフォルトの名無しさん (ササクッテロロ Spf7-3eBY)
2017/05/07(日) 01:04:29.57ID:97sXlIAUp 早々にSwiftに移行した人達よ、工数人件費は抑えられた?上がった?
508デフォルトの名無しさん (ワッチョイ cf92-npF+)
2017/05/07(日) 14:03:00.79ID:w48Ptm+H0 >>491
キチガイの発想は健常者には理解不能だよなあ
キチガイの発想は健常者には理解不能だよなあ
509デフォルトの名無しさん (ササクッテロリ Spf7-rRTA)
2017/05/07(日) 16:21:15.72ID:kFOE8CxJp510デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/07(日) 17:00:21.83ID:4+gPHsDZ0 >>509
ちょっと、どう言う状況なのか?理解不能。
Swift2.3 - 3.xへの移行が難しいってのはどう言う事?
Unsafe族を使いまくってたのとか?
それでも、なんとか移植できるでしょ。2.x -> 3.xはそんなに
困難?
これから段々、Obj-C世代が居なくなるよ。
ちょっと、どう言う状況なのか?理解不能。
Swift2.3 - 3.xへの移行が難しいってのはどう言う事?
Unsafe族を使いまくってたのとか?
それでも、なんとか移植できるでしょ。2.x -> 3.xはそんなに
困難?
これから段々、Obj-C世代が居なくなるよ。
511デフォルトの名無しさん (ササクッテロリ Spf7-rRTA)
2017/05/07(日) 17:34:13.56ID:kFOE8CxJp 1.xの頃は開発環境が業務に耐える品質じゃなかったし
2.xはまだマシだけどやっぱり更新頻繁だったんよ
半年単位で言語仕様、API仕様が変わってたからメンテ工数がobjcの比じゃなかった
2.3から3の移行が厳しいんじゃなくて、それまでが悲惨すぎてもうやめよってなった
比較的更新速度の遅い3.0以降で業務採用始めてたら違ったかもな
まぁ早々に移行したヤツと、最近移行を考えてるヤツは状況違うから、あんまり参考にならんよ
2.xはまだマシだけどやっぱり更新頻繁だったんよ
半年単位で言語仕様、API仕様が変わってたからメンテ工数がobjcの比じゃなかった
2.3から3の移行が厳しいんじゃなくて、それまでが悲惨すぎてもうやめよってなった
比較的更新速度の遅い3.0以降で業務採用始めてたら違ったかもな
まぁ早々に移行したヤツと、最近移行を考えてるヤツは状況違うから、あんまり参考にならんよ
512デフォルトの名無しさん (ワッチョイ 32d4-qAfm)
2017/05/07(日) 18:21:04.90ID:Y4rdOdmi0 本番に耐えられるのはバージョン3からというしな
513デフォルトの名無しさん (ワッチョイ cf92-npF+)
2017/05/07(日) 19:54:43.41ID:w48Ptm+H0 そういうのもあるけどXcodeがクソすぎる
514デフォルトの名無しさん (ワッチョイ 323c-5tHG)
2017/05/07(日) 20:20:45.01ID:59YO4yyL0 うちはまだSwift2.3 - 3.xへの移行まだしてないな。
GCDあたりとか手作業で書き換えないといけないらしいし、
いっそObj-Cに戻したほうがSwift3→4移行の時も苦労しなくて済みそうな気がしてくる。
GCDあたりとか手作業で書き換えないといけないらしいし、
いっそObj-Cに戻したほうがSwift3→4移行の時も苦労しなくて済みそうな気がしてくる。
515デフォルトの名無しさん (ワッチョイ b2c8-tela)
2017/05/07(日) 22:19:05.42ID:dChYZV8N0 swift5もでるみたいだから毎年苦労することになる。
516デフォルトの名無しさん (ワッチョイ f2f3-pbiz)
2017/05/07(日) 22:39:31.23ID:VGI2seLS0 4からCIでソース互換性テストやるようになったから大丈夫だろ
517デフォルトの名無しさん (ワッチョイ 7ba3-LFpG)
2017/05/07(日) 22:45:12.18ID:DJhnYmDa0 そろそろ仕様は安定しましたか?
518デフォルトの名無しさん (ワッチョイ 761f-Ogwz)
2017/05/08(月) 00:46:35.42ID:j5FwBoSL0 移行しないという選択肢は
519デフォルトの名無しさん (ワッチョイ 9b0f-YlV+)
2017/05/08(月) 08:14:18.24ID:tEZCpO6i0 >>518
Appleが政治的にゴリ押してるから移行する必要性が出てるわけであって、技術的にはそれもあり
Appleが政治的にゴリ押してるから移行する必要性が出てるわけであって、技術的にはそれもあり
520デフォルトの名無しさん (アウアウウー Sab3-3eBY)
2017/05/08(月) 08:43:41.22ID:CnaMYymAa >>518
数年しか使わないアプリならそれでいいんじゃない。
数年しか使わないアプリならそれでいいんじゃない。
521デフォルトの名無しさん (スッップ Sd52-qAfm)
2017/05/08(月) 08:48:43.68ID:X/V4E59/d >>517
俺は十分に安定したと判断したからswiftに移行したけど、予想が外れたら恨んでくれて良いよ
俺は十分に安定したと判断したからswiftに移行したけど、予想が外れたら恨んでくれて良いよ
522デフォルトの名無しさん (ワッチョイ b3f5-BeWO)
2017/05/08(月) 13:41:30.46ID:Bf5KwLeX0 swift触るよりreact native とtypescriptでいいんじゃないかな?
reduxでステート管理できるぜ
reduxでステート管理できるぜ
523デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/08(月) 13:44:43.79ID:vwxEwAxp0 >>522
react nativeもなんだかなぁ。
結局JavaScriptだけで、アプリ作れる訳では無いし。
RxSwift触ってるけど、
なんで、Variableとか、Driverとかがあるのか?良く判らん。
おまけに、RxSwift3.4になって、他にも色々増えてるし。
react nativeもなんだかなぁ。
結局JavaScriptだけで、アプリ作れる訳では無いし。
RxSwift触ってるけど、
なんで、Variableとか、Driverとかがあるのか?良く判らん。
おまけに、RxSwift3.4になって、他にも色々増えてるし。
524デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/08(月) 13:46:43.44ID:vwxEwAxp0 Variable, Driver
Single, Maybe, Completable
ってのがあるんだけど、こんなにViewModelが必要なのだろうか?
Single, Maybe, Completable
ってのがあるんだけど、こんなにViewModelが必要なのだろうか?
525デフォルトの名無しさん (ワッチョイ 9f6e-7iRX)
2017/05/08(月) 16:14:31.41ID:bL8ez2V30526517 (ワッチョイ 7ba3-LFpG)
2017/05/08(月) 16:27:33.64ID:WhT9Qpgj0 ずっと前から定期的にswiftが安定したかどうかをこのスレで尋ねてきたんだけど
今回初めてポジティブな反応があったってのは喜ばしいです
これから勉強するって立場だと、前みたいにあまりにも大きい変更があるなら
手を出しづらいけど、
そこまで大きくない変更があるぐらいならなんとかなりそうだし、
仕様が安定した頃にはバリバリ書けてる様になれるのが理想なので
そろそろ勉強し始めてみるよ
またこのスレにはお世話になると思うので
今後もよろしくお願いします
今回初めてポジティブな反応があったってのは喜ばしいです
これから勉強するって立場だと、前みたいにあまりにも大きい変更があるなら
手を出しづらいけど、
そこまで大きくない変更があるぐらいならなんとかなりそうだし、
仕様が安定した頃にはバリバリ書けてる様になれるのが理想なので
そろそろ勉強し始めてみるよ
またこのスレにはお世話になると思うので
今後もよろしくお願いします
527デフォルトの名無しさん (ワッチョイ f2f3-pbiz)
2017/05/08(月) 17:29:23.85ID:WxeP2eSJ0 ABI安定化は延期されたから4には入らないって何度言わせるんだ
528デフォルトの名無しさん (ワッチョイ 9f6e-7iRX)
2017/05/08(月) 18:17:19.90ID:bL8ez2V30 あん?3が見送りで4で安定(予定)じゃないのかいな
swift-evolutionのREADMEでは4に入ってんぞ、これからまた変わったのか?
swift-evolutionのREADMEでは4に入ってんぞ、これからまた変わったのか?
529デフォルトの名無しさん (ササクッテロレ Spf7-dJIr)
2017/05/08(月) 18:44:56.25ID:ZyGEVEkup 変化を恐れては何も進歩しない
530デフォルトの名無しさん (ワッチョイ b3f5-BeWO)
2017/05/08(月) 22:24:36.42ID:Bf5KwLeX0 >>523
でも大概のアプリの要求は満たせると思うが。何よりマルチプラットホームなのが嬉しい。
とはいえ、typescrptにも限界はあって
やはり動的言語を無理やり静的言語に見せかけているゆえの謎の不具合は避けられないんだよなぁ
でも大概のアプリの要求は満たせると思うが。何よりマルチプラットホームなのが嬉しい。
とはいえ、typescrptにも限界はあって
やはり動的言語を無理やり静的言語に見せかけているゆえの謎の不具合は避けられないんだよなぁ
531デフォルトの名無しさん (ササクッテロラ Spf7-3eBY)
2017/05/09(火) 00:14:22.36ID:U8IiXvlVp532デフォルトの名無しさん (エムゾネ FF52-YlV+)
2017/05/09(火) 01:22:08.73ID:U5ulV1PaF >>531
賢明な判断
賢明な判断
533デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/09(火) 14:41:07.77ID:saKaHmAZ0 import Foundation
extension NSObjectProtocol {
static var className: String {
return String(describing: self)
}
}
print(String.className) // =>NSString
print(String(describing: String.self)) // =>String
最初のprint文の出力は、これで良いのでしょうか?
Terminal.appで実行しました。
513> swift -v
Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42)
Target: x86_64-apple-macosx10.9
です。
extension NSObjectProtocol {
static var className: String {
return String(describing: self)
}
}
print(String.className) // =>NSString
print(String(describing: String.self)) // =>String
最初のprint文の出力は、これで良いのでしょうか?
Terminal.appで実行しました。
513> swift -v
Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42)
Target: x86_64-apple-macosx10.9
です。
534デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/09(火) 14:43:56.95ID:saKaHmAZ0 あと昔、NSObject classとNSObject protocolの2つがあった様に
記憶してますが、
protocolの方はNSObjectProtocol protocolに改名されたのでしょうか?
記憶してますが、
protocolの方はNSObjectProtocol protocolに改名されたのでしょうか?
535デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/09(火) 14:47:24.26ID:saKaHmAZ0 obj-cのNSObject protocolがswiftのNSObjectProtocolなんですね。
536デフォルトの名無しさん (ササクッテロル Spf7-ge3j)
2017/05/09(火) 16:26:35.60ID:+4v+N8Ofp ストーリーボードを使わずに開発したいんだけど、参考になる書籍がなかなか見つからん..
なんかオススメの本あったら教えてくれ
なんかオススメの本あったら教えてくれ
537デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/09(火) 16:41:53.42ID:saKaHmAZ0 >>536
大都市圏にお住まいじゃないのかな?
大都市圏にお住まいじゃないのかな?
538デフォルトの名無しさん (アウアウエー Sa4a-dJIr)
2017/05/09(火) 16:43:02.60ID:aBFiO8O6a539デフォルトの名無しさん (ワッチョイ 7ba3-LFpG)
2017/05/09(火) 16:53:15.00ID:99drGKBN0 便乗で質問です。
Swiftの言語自体の解説は書籍もサイトも見つかるのですが、
ストーリーボード自体の解説をしている書籍とかサイトって、
あまり見当たりません。
なんかお勧めとかありますでしょうか?
Swiftの言語自体の解説は書籍もサイトも見つかるのですが、
ストーリーボード自体の解説をしている書籍とかサイトって、
あまり見当たりません。
なんかお勧めとかありますでしょうか?
540デフォルトの名無しさん (ワッチョイ f2f3-pbiz)
2017/05/09(火) 16:57:06.02ID:PFfvqZY+0 >>533
バグっぽい
SE-0072 で String から NSString への暗黙的なキャストは禁止になったけど
NSObjectProtocol のメソッドを呼ぶときは暗黙的に NSString にキャストされるままになってしまってる
今 master の最近のビルドで試してみたらコンパイルエラーになったから 4.0 で修正されると思われる
print(NSString.className) // NSString
// print(String.className) // error: static member 'className' cannot be used on instance of type 'NSString'
print(type(of: "" as NSString).className) // NSString
Swift version 4.0-dev (LLVM 3df4892fbe, Clang 1a30829a18, Swift 79258866a2)
Target: x86_64-unknown-linux-gnu
バグっぽい
SE-0072 で String から NSString への暗黙的なキャストは禁止になったけど
NSObjectProtocol のメソッドを呼ぶときは暗黙的に NSString にキャストされるままになってしまってる
今 master の最近のビルドで試してみたらコンパイルエラーになったから 4.0 で修正されると思われる
print(NSString.className) // NSString
// print(String.className) // error: static member 'className' cannot be used on instance of type 'NSString'
print(type(of: "" as NSString).className) // NSString
Swift version 4.0-dev (LLVM 3df4892fbe, Clang 1a30829a18, Swift 79258866a2)
Target: x86_64-unknown-linux-gnu
541デフォルトの名無しさん (ワッチョイ f2f3-pbiz)
2017/05/09(火) 17:02:09.65ID:PFfvqZY+0 >>536
>>539
ここは言語自体のスレなので、iOS開発関連の質問は↓このへんで聞いたほうがいい
[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/
>>539
ここは言語自体のスレなので、iOS開発関連の質問は↓このへんで聞いたほうがいい
[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/
542デフォルトの名無しさん (ワッチョイ 7ba3-LFpG)
2017/05/09(火) 17:09:44.77ID:99drGKBN0 >>541
了解です。ありがとうございます。
了解です。ありがとうございます。
543デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/09(火) 17:14:04.01ID:saKaHmAZ0544デフォルトの名無しさん (ササクッテロル Spf7-ge3j)
2017/05/09(火) 17:21:32.43ID:+4v+N8Ofp545デフォルトの名無しさん (アウアウエー Sa4a-dJIr)
2017/05/09(火) 17:23:30.33ID:aBFiO8O6a546デフォルトの名無しさん (ササクッテロリ Spf7-rRTA)
2017/05/09(火) 17:41:17.37ID:XATV1oVDp 1つの.storyboardを複数名が修正して発狂するのはiOS/macOS開発の宿命
じゃあswiftだけ作ればいいって言うと更に発狂するし
storyboardを複数に分けるとビルド時間延びて発狂する
ホントXcodeはクソやでぇ、、、
まぁビルド時間はswift使う時点で頭くるほど延びてるんだけども
1.xの頃はホントシネと思った
じゃあswiftだけ作ればいいって言うと更に発狂するし
storyboardを複数に分けるとビルド時間延びて発狂する
ホントXcodeはクソやでぇ、、、
まぁビルド時間はswift使う時点で頭くるほど延びてるんだけども
1.xの頃はホントシネと思った
547デフォルトの名無しさん (ササクッテロラ Spf7-3eBY)
2017/05/09(火) 19:02:34.86ID:kVl7/5KVp 1つでかいStoryboardがある場合とそれを分割した場合とじゃ後者の方がビルド早くない?ビルドキャッシュのおかげかな?
548デフォルトの名無しさん (ワッチョイ d3f3-elLU)
2017/05/10(水) 14:08:08.73ID:w+pKES+H0549デフォルトの名無しさん (ワッチョイ 323c-5tHG)
2017/05/10(水) 16:46:03.36ID:5zfXjNQY0 Swiftで開発中にハマまくったけど結局コンパイラのバグだったって経験ある人いる?
そういうのが怖くてSwift始められない人って多いと思う。
そういうのが怖くてSwift始められない人って多いと思う。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 [蚤の市★]
- 地震 [Hitzeschleier★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 【話題】好きな鍋は?! 「寄せ鍋」「キムチ鍋」「水炊き」「もつ鍋」「豆乳鍋」「ちゃんこ鍋」「ごま坦々鍋」「トマト鍋」 [ひぃぃ★]
- 【地震】 茨城 栃木 埼玉 千葉 震度4 [KingFisherは魚じゃないよ★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 自民党、金融所得課税30%で決定か。株を売ったり、配当金が入ると国が30%持って行きます [838847604]
- ムミィ🥺いる❓🏡
- 巨乳にとにかく縁がない
- 新型PSP、ほぼ全てのPS5ソフトをプレイできる?キタ━━━━━━(゚∀゚)━━━━━━!!!!! [303493227]
- 高市さん「おかしいリフレ派の有識者から聞いていた話と全然違う」急速な円安拡大に危機感、利上げや増税容認へ [709039863]
- 兎田ぺこら、とんでもない方法でさくらみこの存在を消してしまう──── [268244553]
