Swift part10 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/02/20(月) 10:00:13.40ID:ChbPWtRt0
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
2017/04/26(水) 11:25:04.64ID:8tL6gyso0
すまん、数を持ち出したのは間違いだったが物事を単純に考えてる奴には目で見て分かりやすいと思ったので
新しいAPIでもcompletionHandlerもあればdelegateもあるし適材適所って事
2017/04/26(水) 11:38:07.27ID:GvwT/G3X0
適材適所であることに異論はないが、今までdelegateだったものがblockに移行してる事実はあるよね
>>426の「何の関係があるの?」の疑問は解決したかな

同じようにObjCだったものがSwiftに移行・・・はして失敗してるんだよなぁ
Swiftに移行したけど破壊変更が頻繁でメンテナンス性が悪いからObjCに差し戻そうって意見が割とガチで出て辛い
2017/04/26(水) 14:54:49.58ID:rNMObgtm0
>>430
なるほど>>425が言いたいことは理解したわ

Delegateをコールバックを実現する仕組みの一つとして捉えると
わざわざDelegateを定義しなくてもcompletionHandlerみたいなblockパラメータって十分ってことかな
シンプルなケースはそれでいいけど少し複雑になるとDelegate使ったほうが良いケースもあるし使い分けだよね

自分で新しく作るんじゃなくUITableViewDelegateみたいなフレームワークで用意されたプロトコルを使う場合は
コールバックを実現する仕組みというより事前に用意された拡張ポイントを使う方法として捉えてる
その場合サブクラス化、デリゲート、イベントなんかは同じグループとして捉えてるけどBlockは抽象度違うからグループの外だね
436デフォルトの名無しさん (ワッチョイ bff3-QkHB)
垢版 |
2017/04/26(水) 15:04:57.22ID:3mj2KO3W0
SwiftのprotocolはJavaのinterfaceみたいなもんだと説明されるけど、Javaでoptionalメソッドを定義できるの?
2017/04/26(水) 15:08:18.39ID:gZc0mpUPa
>>436
スレチもいいとこ
2017/04/26(水) 15:17:06.14ID:rNMObgtm0
>>436
何もしないデフォルト実装を用意する
439デフォルトの名無しさん (ワッチョイ bff3-QkHB)
垢版 |
2017/04/26(水) 15:54:00.63ID:3mj2KO3W0
>>438
なるほどぉ。
2017/04/26(水) 19:42:58.31ID:7DECPBe+d
funcって書くのにメソッドなの??
2017/04/26(水) 19:59:41.32ID:lYhaqZk40
そもそもfuncとmethodを分ける意味ってあんの?
会話で通じないとかなくね?
2017/04/26(水) 20:56:10.25ID:2ExUo8Ujp
Fuck!!!
443デフォルトの名無しさん (スッップ Sdaa-skpP)
垢版 |
2017/04/26(水) 21:12:05.58ID:7OfAzagzd
関数の事をmethodって言う奴は「解ってないなあ」と思う。

あと、宣言と定義の使い分けできていない人も苦手だな。
2017/04/26(水) 21:14:41.12ID:yg9vhXXld
伝わればなんでもいいよ
2017/04/26(水) 21:15:15.06ID:lYhaqZk40
ヘッダーがなくなった時点で、宣言も定義もほぼ同義じゃねーの
2017/04/26(水) 21:43:02.76ID:ZkZBCOOl0
Swiftでは公式に用語がどう定義されてんだろうと思って探したら丁度ズバリ書いてた

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/doc/uid/TP40014097-CH34-ID351

In Swift, most declarations are also definitions in the sense that they
are implemented or initialized at the same time they are declared.
That said, because protocols don’t implement their members, most
protocol members are declarations only.
For convenience and because the distinction isn’t that important in
Swift, the term declaration covers both declarations and definitions.

Swiftではプロトコルとか一部除いてほぼ宣言と同時に定義するし、いちいち区別するのメンドクセーから「宣言」も「定義」もひっくるめて「宣言」って用語だけ使うわー

まぁそれもBNFだけでの話のようで、Guideの他の部分の文章では「definition」も使われたり混同されたりしてるようだけど
2017/04/26(水) 22:01:01.52ID:H5XmXuTS0
>>443
うっそーん?

instance method, type methodっていう言い方はするが、
instance function, type function(class function)なんて聞いたこと
ないぞぉ。
2017/04/27(木) 02:46:48.47ID:v69LNgpd0
>>443>>447みたいなことを口に出す人は若いなぁと思う
自分も若かりし頃は気にしてたけど年取ったら思ってても意図が伝わればどうでもいいわとなった
どうせswiftコード上だとfuncが共通で使われるし、小面倒な奴と会話するときは「ファンク」とでも言っとけばおk
2017/04/27(木) 08:03:13.29ID:T2cThVGm0
いやだからなんでfuncって書くのにメソッドやねん
だったらmethにでもしとけばええやん
2017/04/27(木) 08:35:20.62ID:7p4DwLyja
グローバルな関数とメソッドでfuncとmethを書き分けろっての?
ただの関数にmethとか使うのは抵抗あるわ
メソッドにfunc使うのは他の言語の例もあるので違和感ないけど
2017/04/27(木) 09:04:29.23ID:N3r3uYtra
そもそもメソッドというのはSmalltalkのコミュニティが使い始めた用語で
もともともはメッセージを受け取ったオブジェクトが目指すゴールを記述するための新しい言語要素を想定してたんだよね

だけど、けっきょくそのSmalltalkも-76以降はSimula67(ALGOLの拡張)スタイルの普通の関数に落ち着いたし
その後ブームとなったJavaもそのまま用語を採用した経緯もあって
メソッドと関数っていうのはインスタンスとオブジェクトみたいなもので区別はあまり意味をもたなくなっちゃっている

強いて言えば、クラスに属する(言語によってはプラスして暗黙のselfを受け取れる)関数をメソッドと呼ぶとかゆるいくくり
2017/04/27(木) 09:05:58.12ID:OI3ixlBfF
funcyな言語やで
453デフォルトの名無しさん (ワッチョイ 0bf3-czGs)
垢版 |
2017/04/27(木) 10:36:56.84ID:OuTFIb+i0
>>451
それも、うっそーん!
Smalltalkではmethodをmessageっていうゾォ。
2017/04/27(木) 11:23:38.37ID:N3r3uYtra
>>453
ああ、それはSmalltalkの(というかOOPの)メッセージングというコンセプトをよくわかっていない人がやりがちな間違いで
メッセージと、それを送ることでコールされるメソッド(関数)は別物

たとえばメッセージ(仮にmとしよう)を送ってもmとは関係ないメソッドがコールされることもあるし
極端な話、何もしないという選択肢(振る舞い)もありうる

もっとも多くの場合、メッセージ(厳密にはメッセージを構成するセレクタ)とメソッド名は一致させるのが普通なので
混同するのも無理からぬことだけれども
2017/04/27(木) 11:49:48.89ID:7p4DwLyja
Obj-Cの場合はメッセージ=メソッド的なとこあるけど、Smalltalkは違うんかね
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 |};
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
2017/04/27(木) 14:47:27.97ID:52wV30cHp
以上って言っても、small talkやobjcについてスレチ上等で会話してる奴等には通じない、、、

大元の>>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 というからには副作用が無い(引数以外が戻り値に影響しない)ことを期待したいところだが、「機能」という意味合いに着目すると、これらの中で最も曖昧であって、一つで済ませるなら便利かもね。
460デフォルトの名無しさん (JP 0H9f-PkLO)
垢版 |
2017/04/27(木) 16:23:53.95ID:a+4IBLmkH
Cのvoidはアキュムレータの値を還すよ
2017/04/27(木) 16:43:42.91ID:QxU5eB0Ka
そんなもの返されたところで使い道は無ぇ
2017/04/27(木) 16:48:34.82ID:R6dFUrFW0
るーびーですねわかります
2017/04/27(木) 19:19:04.75ID:5OLYtE1F0
>>460
それは返すとは言いません
2017/04/27(木) 21:03:25.93ID:8BI3unQLd
>>458
つまり全部関数って呼べばいいんじゃないの
わざわざメソッドとか言わずに
2017/04/27(木) 21:31:33.44ID:i5BzzK+e0
>>464
普通の人はそれで良いと思う
頭固い偏屈な奴だけメソッドって言い張れば良いんじゃないかなぁ
と自分は思います
2017/04/27(木) 22:14:36.28ID:52wV30cHp
教祖様がコード上はfuncをキーワードにするけど、>>457の通り人間向けはmethodがいいって言ってる
ケースバイケースで言い換えたい所存、信仰したくない宗教だけど敬意は払う

信者はsmall talk原理主義やobjc至上主義で討論してるけど結論出ないだろ
2017/04/27(木) 23:12:26.96ID:Wv+Yc+Vq0
>>464
メソッドって呼んだ場合は単なる関数じゃなく
クラスや構造体なんかの特定の型に紐付いた関数だっていう意味が付随するの
それが不要だと思うなら全部関数って呼べばいいと思うよ

メソッドに限らずクロージャなんて呼ばずに全部関数って呼んでもいいし
逆に関数なんて呼ばずに全部クロージャって呼んでもいい
2017/04/27(木) 23:16:43.40ID:Wv+Yc+Vq0
>>458
クラスや構造体の中で定義した関数のことをメソッドと呼ぶんだからfuncキーワードを使うのが適切だろ
コンパイラ側とかコーダー側とか関係ない
2017/04/27(木) 23:28:54.98ID:8BI3unQLd
>>467
じゃあなんでfuncとかいうキーワードなのって思うよね
つーか、キーワードなんかいらなくね?って思うんだが
そのキーワードがないとコンパイラが解釈できないシンタックスなのかな
2017/04/27(木) 23:37:34.54ID:+McxYUoga
キーワードないと宣言なのか呼び出しなのかコンパイラも判断に迷うだろ
2017/04/28(金) 00:05:28.20ID:uTZO7qUH0
>>469
もしmethodってキーワード使うとしたら、>>457の定義に従えば

メソッド = 型に関連付けられた関数
func = 関数
class { func } = 型に関連付けられた関数
         = メソッド
class { method } = 型に関連付けられたメソッド
           = 型に関連付けられた(型に関連付けられた関数)

ってことになって「頭痛が痛い」みたいにならね?w
2017/04/28(金) 04:06:13.32ID:TMPExC9ya
arc4random()をIntに入れるのに完璧なやり方ってある?
2017/04/28(金) 05:07:09.24ID:dZlKtiRpd
>>470
Cはそんなfuncとかいうキーワードないのに成り立ってて不思議だね
474デフォルトの名無しさん (スップ Sd7f-Ch68)
垢版 |
2017/04/28(金) 07:34:38.00ID:NEA7d0M1d
C言語の場合

プロトタイプ宣言
と言うように、宣言はメモリの確保を伴わない

関数定義
と言うように、定義はメモリの確保を伴う


オブジェクト指向の場合はどうなるんだろうね
コードは宣言でインスタンス化は定義かな
2017/04/28(金) 08:07:22.91ID:+uUUmIhK0
JavaとかObjective-Cでもfuncとかいうキーワードはないのに成り立ってるね
2017/04/28(金) 08:23:00.72ID:Z9SVt9YO0
他の新興言語のgoやrustはキーワードつけてるね

あってもなくても成り立たなくはないけど、ある方が流行りなんでしょ
他言語文法仕様をパクってモダンなものを作るんだから流行りに合わせてつけるのは当然でしょ
2017/04/28(金) 08:24:09.58ID:+uUUmIhK0
なるほどモダンねぇ...
2017/04/28(金) 08:25:01.60ID:uTZO7qUH0
型が後置だからだろ
2017/04/28(金) 08:59:20.10ID:1TnL0+oaF
>>478
それな
モダンな表現を実現するためには仕方ないな
2017/04/28(金) 09:15:26.74ID:HrVNNKWrp
いや、後置でもコンパイラが頑張ればできるでしょ
481デフォルトの名無しさん (スプッッ Sd1f-xKwp)
垢版 |
2017/04/28(金) 09:57:20.06ID:Ac9Dm7bId
明示しないとコンパイラだけじゃなく人間も頑張らなくちゃならなくなるかも
2017/04/28(金) 10:00:18.34ID:K29gCEJ0a
>>473
Cは変数も関数も型宣言(関数の場合は返り値の型)が先にくるからね
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: () -> () = {…}
2017/04/28(金) 18:44:38.27ID:uTZO7qUH0
>>472
Intに入れるじゃ何聞きたいのか分からん

var result: Int = 0
arc4random_buf(&result, MemoryLayout.size(ofValue: result))

こういう話?
それとももっと別の話なのか
2017/04/28(金) 21:07:49.54ID:pTZXbcwl0
>>472
普通にIntでCastして不都合ある?
let random10 = { Int(arc4random_uniform(10)) }
486デフォルトの名無しさん (ワッチョイ 9f9d-w1TE)
垢版 |
2017/05/06(土) 16:47:48.74ID:3sfm3EzD0
『詳解Swift』ってどう?Amazonの評価は真っ二つに別れているんだけど
2017/05/06(土) 17:06:44.06ID:Vgrr/US10
>>486
どんな本も、読者によって評価は分かれる。
いい本とは、万人に受け入れられると考えるのは、間違い。
2017/05/06(土) 17:17:20.80ID:Du+O4KVHp
中上級者向けの本で内容を理解出来ないと悪いレビューつける奴いるしな
2017/05/06(土) 17:32:44.31ID:rU3gcFGYp
swift 3に対応した3版は出たのかねぇ
作者も読者も疲れてそうだと思った
2017/05/06(土) 17:49:37.89ID:l3lhsLeM0
>>486
Appleの公式本読めば十分だよ

日本語という以外の付加価値は全くないけど
公式本に近い内容を日本語で読みたければ買ってもいいと思う
一度読んだら辞書的な使い方はしないので電子版のほうがオススメ

あと荻原本は公式本よりやや説明がくどいので好き嫌い分かれる
目新しい概念をわかりやすく説明してくれてたりはしない
2017/05/06(土) 17:50:10.60ID:Vu96M1x5a
>>488
百田尚樹の本をサヨクが理解出来ないのと一緒だな
2017/05/06(土) 17:50:47.77ID:tXDjXsMUd
どうせSwiftの自己満仕様変更で古くなる参考書を何故買うかね?
493デフォルトの名無しさん (ワッチョイ 9f9d-w1TE)
垢版 |
2017/05/06(土) 19:55:06.44ID:3sfm3EzD0
古くなるのが嫌なら、IT系の本、特に入門書なんて全部買えないだろ。
それに図書館で買ってもらって読むって手もあるし。
2017/05/06(土) 20:50:30.20ID:Vgrr/US10
>>489
疲れたヤツも居れば、元気なヤツも居る。
C++11, C++14, C++17と立て続けに改定が進み、
疲れたヤツ、元気なヤツが居るのと同じ。
2017/05/06(土) 20:51:18.32ID:Vgrr/US10
>>491
素晴らしい比喩
2017/05/06(土) 20:52:39.76ID:Vgrr/US10
>>492
全ての仕様は、古くなる。
全ての物理常識は古くなる。
天動説だって古くなる。
だから、天動説を知らないで良いとはならんだろう。
2017/05/06(土) 20:54:11.98ID:A6Xoj7sWa
コンピュータの世界はどんどん新しくなるのが当たり前だろ。
言語は、その中でもまだ遅い方よ。
2017/05/06(土) 21:30:38.70ID:RxOQwEquH
ネットの情報は新旧混在ですぐデブリだらけになるからな
2017/05/06(土) 21:58:01.55ID:I53ls5gra
どんどん新しくなるといいながら、未だにフォン・ノイマン型が主流なんだよな
2017/05/06(土) 22:03:44.34ID:A6Xoj7sWa
分野による。
組み込みじゃハーバード型が主流。
2017/05/06(土) 22:12:19.08ID:I53ls5gra
ハーバード型もパラダイム的には大して変わんねーから
2017/05/06(土) 22:17:28.66ID:A6Xoj7sWa
データと命令で分かれてるのは地味に重要だぞ。
高速なCPUじゃ分かりにくいかもだが、低速になる程顕著。
2017/05/06(土) 22:31:46.28ID:tXDjXsMUd
>>496
言いたいことはまだ発展途上の言語はweb上のドキュメント参照しとけばいいってことだよ
2017/05/06(土) 22:35:29.44ID:Vgrr/US10
>>498
最近debrisってよく見かける単語だなぁ。
Apple系News Sitesでよく見かけるなぁ。
2017/05/06(土) 22:37:36.61ID:Vgrr/US10
フォン・ノイマン型 ハーバード型

ってなんの話だ?
2017/05/06(土) 22:39:01.34ID:Vgrr/US10
AVR, PIC vs Intel, ARM
って事なのね。
2017/05/07(日) 01:04:29.57ID:97sXlIAUp
早々にSwiftに移行した人達よ、工数人件費は抑えられた?上がった?
2017/05/07(日) 14:03:00.79ID:w48Ptm+H0
>>491
キチガイの発想は健常者には理解不能だよなあ
2017/05/07(日) 16:21:15.72ID:kFOE8CxJp
>>507
swift1.1で業務採用して2.3までメンテしてたけど、ムリゲーだwwwってレポート挙げてobjcに差し戻した
工数人件費はお察し
2017/05/07(日) 17:00:21.83ID:4+gPHsDZ0
>>509
ちょっと、どう言う状況なのか?理解不能。
Swift2.3 - 3.xへの移行が難しいってのはどう言う事?

Unsafe族を使いまくってたのとか?
それでも、なんとか移植できるでしょ。2.x -> 3.xはそんなに
困難?

これから段々、Obj-C世代が居なくなるよ。
2017/05/07(日) 17:34:13.56ID:kFOE8CxJp
1.xの頃は開発環境が業務に耐える品質じゃなかったし
2.xはまだマシだけどやっぱり更新頻繁だったんよ
半年単位で言語仕様、API仕様が変わってたからメンテ工数がobjcの比じゃなかった
2.3から3の移行が厳しいんじゃなくて、それまでが悲惨すぎてもうやめよってなった

比較的更新速度の遅い3.0以降で業務採用始めてたら違ったかもな
まぁ早々に移行したヤツと、最近移行を考えてるヤツは状況違うから、あんまり参考にならんよ
512デフォルトの名無しさん (ワッチョイ 32d4-qAfm)
垢版 |
2017/05/07(日) 18:21:04.90ID:Y4rdOdmi0
本番に耐えられるのはバージョン3からというしな
2017/05/07(日) 19:54:43.41ID:w48Ptm+H0
そういうのもあるけどXcodeがクソすぎる
2017/05/07(日) 20:20:45.01ID:59YO4yyL0
うちはまだSwift2.3 - 3.xへの移行まだしてないな。
GCDあたりとか手作業で書き換えないといけないらしいし、
いっそObj-Cに戻したほうがSwift3→4移行の時も苦労しなくて済みそうな気がしてくる。
515デフォルトの名無しさん (ワッチョイ b2c8-tela)
垢版 |
2017/05/07(日) 22:19:05.42ID:dChYZV8N0
swift5もでるみたいだから毎年苦労することになる。
2017/05/07(日) 22:39:31.23ID:VGI2seLS0
4からCIでソース互換性テストやるようになったから大丈夫だろ
2017/05/07(日) 22:45:12.18ID:DJhnYmDa0
そろそろ仕様は安定しましたか?
2017/05/08(月) 00:46:35.42ID:j5FwBoSL0
移行しないという選択肢は
2017/05/08(月) 08:14:18.24ID:tEZCpO6i0
>>518
Appleが政治的にゴリ押してるから移行する必要性が出てるわけであって、技術的にはそれもあり
2017/05/08(月) 08:43:41.22ID:CnaMYymAa
>>518
数年しか使わないアプリならそれでいいんじゃない。
521デフォルトの名無しさん (スッップ Sd52-qAfm)
垢版 |
2017/05/08(月) 08:48:43.68ID:X/V4E59/d
>>517
俺は十分に安定したと判断したからswiftに移行したけど、予想が外れたら恨んでくれて良いよ
2017/05/08(月) 13:41:30.46ID:Bf5KwLeX0
swift触るよりreact native とtypescriptでいいんじゃないかな?
reduxでステート管理できるぜ
523デフォルトの名無しさん (ワッチョイ d3f3-elLU)
垢版 |
2017/05/08(月) 13:44:43.79ID:vwxEwAxp0
>>522
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が必要なのだろうか?
2017/05/08(月) 16:14:31.41ID:bL8ez2V30
>>521
ABIの安定化がようやく4でなされる予定で、文法の下位互換保証は5とかになるんじゃないのかね
そんな状況下で仕様安定というのはまだ時期尚早だと思うぞ
2017/05/08(月) 16:27:33.64ID:WhT9Qpgj0
ずっと前から定期的にswiftが安定したかどうかをこのスレで尋ねてきたんだけど
今回初めてポジティブな反応があったってのは喜ばしいです

これから勉強するって立場だと、前みたいにあまりにも大きい変更があるなら
手を出しづらいけど、
そこまで大きくない変更があるぐらいならなんとかなりそうだし、
仕様が安定した頃にはバリバリ書けてる様になれるのが理想なので
そろそろ勉強し始めてみるよ

またこのスレにはお世話になると思うので
今後もよろしくお願いします
2017/05/08(月) 17:29:23.85ID:WxeP2eSJ0
ABI安定化は延期されたから4には入らないって何度言わせるんだ
2017/05/08(月) 18:17:19.90ID:bL8ez2V30
あん?3が見送りで4で安定(予定)じゃないのかいな
swift-evolutionのREADMEでは4に入ってんぞ、これからまた変わったのか?
2017/05/08(月) 18:44:56.25ID:ZyGEVEkup
変化を恐れては何も進歩しない
2017/05/08(月) 22:24:36.42ID:Bf5KwLeX0
>>523
でも大概のアプリの要求は満たせると思うが。何よりマルチプラットホームなのが嬉しい。
とはいえ、typescrptにも限界はあって
やはり動的言語を無理やり静的言語に見せかけているゆえの謎の不具合は避けられないんだよなぁ
2017/05/09(火) 00:14:22.36ID:U8IiXvlVp
>>529
Swiftが進歩してもらうのはウェルカムだけどObjective-Cよりメンテコストがかかるのなら敢えて採用は出来ないって会社判断もある
うちはもっと安定してからかな
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
です。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況