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

■ このスレッドは過去ログ倉庫に格納されています
2017/06/28(水) 17:58:29.74ID:KUDOoNV30
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
2017/07/22(土) 22:47:39.39ID:EDEdZkbmd
>>122
あの時はそもそもOSが根本的に変わったけどな
2017/07/22(土) 22:49:41.31ID:EDEdZkbmd
まあObjective-CはJobsが原点回帰(NeXT系譜)した感じだな
2017/07/22(土) 23:41:33.63ID:QZvpiOv/0
>>122
CarbonがいつC++だったのよ。Cだろ
>>123のいう根本から変わる過渡期にどうするかで出てきたCarbonなんて最初からいつか無くなる運命だし、Carbonよりも先にObjective-Cあったので切り替えでもなんでもないだろ
いつまでもOSネイティブなObjective-Cにしなかったアホが悪いでしかないのに、ゴリ押しとか基礎も結論も妄想がひどすぎ
2017/07/23(日) 00:09:20.02ID:+M2gaImH0
Swiftやってる連中はにわかが多いからしゃーない
2017/07/23(日) 02:37:14.48ID:UbY0LF7+p
>>118
ソニーが採用してただろ
2017/07/23(日) 02:58:25.19ID:qsgDJx91p
旧MacOSはそういやPascal推しだったの思い出した
2017/07/23(日) 07:21:28.71ID:m5jMFDpep
Pascal, C/C++を拒否してObjCに強制誘導してるじゃないか、、、
同じようにSwiftも頼むよー
2017/07/23(日) 08:39:16.33ID:b9v3bw3F0
C/C++が拒否されてるなんて全く感じたこと無いけど
C/C++でバリバリ書かれてるコードにちょっとCocoa APIをObj-Cで呼び出せばプログラムが完成するって感じだと思うけど
ObjCに強制誘導って思うのは、単にMac OS XのAPIを学びたくないからじゃないの?
2017/07/23(日) 11:21:23.34ID:FXaeC0G60
強制誘導ってアホか?
Objective-CのベースだってMac OS X/OS X/macOSのバージョンアップによってC++に書き換えられてるし、CoreはCのままだし、OS X/CocoaはほぼNEXT STEPのまんまと言っていいくらい元々Objective-Cだし、IO KitはC++で書けだし
2017/07/23(日) 11:40:38.80ID:wBdpKyPw0
>>128
推しというか、Macの開発(ほんとの生み出す開発)はPascal/Assembleで作っていたんだなあというのは、どこぞの博物館で公開されたQuickDraw/MacPaintのソースでわかる
推すも何もそうだったらそうなるだろ、ドキュメントとか。だが、サード開発ではCが大多数(&CでPascal形式API呼ぶのにほぼツーカーで何も問題ない)で、Appleもそれにならうでしかないな
133デフォルトの名無しさん (ワッチョイ 477e-48IU)
垢版 |
2017/07/23(日) 12:24:47.14ID:+emKkgEz0
The 2017 Top Programming Languages
http://spectrum.ieee.org/computing/software/the-2017-top-programming-languages
134デフォルトの名無しさん (ワッチョイ 477e-48IU)
垢版 |
2017/07/23(日) 12:29:34.74ID:+emKkgEz0
Google Search
Google Trends
Twitter
GitHub
Reddit
などなどを"X programming"っていうテンプレートで検索し、hits countsをrankingしたって事らしい。
2017/07/23(日) 12:31:12.51ID:m5jMFDpep
>>130
ObjCをちょっと書かないとmacOS, iOSアプリが作れないように
Swiftをちょっと書かないとモノが作れないくらいのゴリ押しして欲しいなぁと

Appleは作りっぱなしで押さないし、信者はジョブズの聖遺物(ObjC)を崇めるし
Appleがゴリ押しした製品に寄生して銭稼ぎしようとbetaの頃に始めたのに悲しいよ
2017/07/23(日) 12:40:43.51ID:+M2gaImH0
世界初のWebブラウザはObjective-Cによって産み出された
まあどーでもいいけど、いまやWeb全盛の時代にそういう言語で最新のアプリが作れる環境が与えられてんだから少しくらい感慨というものを感じてもいいんじゃないの
2017/07/23(日) 12:58:28.23ID:wBdpKyPw0
元々アホかなとは思ったが, >>135ぶりからアホってもんじゃねええ。Swift好きにも迷惑だと思うぞ
2017/07/23(日) 13:19:23.25ID:wBdpKyPw0
>>130
C++を拒否というならSwiftによって/Swiftがだろうな、現在はw
macOS上のSwiftでは、まあ、Objevtive-C++でラッパー書いてそれをSwiftでだが、Linuxでぼちぼちっとじわっと使われているので、はよSwiftでC++のブリッジを(まあ、Cのインターフェースでラッパー作ればいいんだろうけど)
C++ブリッジの予定ないのかなあ
2017/07/23(日) 13:22:04.20ID:m5jMFDpep
つ swiftpp
140デフォルトの名無しさん (ワッチョイ bf60-ST9I)
垢版 |
2017/07/23(日) 13:26:14.58ID:KVqGyOG90
Uiview.アニメーション関数を使いたいのですが、uiviewanimationoptionsの選択肢が
でてきれくれません。Youtubeを参考にしながら、optionsの部分をcurveLiniearに
したいのですが・・・cを入力しても候補が一切表示されず途方に暮れています。
どういった原因が考えられますか?助けてください。ゲーム作りたいです。
2017/07/23(日) 13:27:23.92ID:wBdpKyPw0
>>139
macOS/Objevtive-C++ありきのじゃね?
2017/07/23(日) 13:49:07.88ID:Ach+AE6nM
>>127
すげー初耳なんだけど
2017/07/23(日) 16:19:01.64ID:rIJW0aWHM
rustのメモリ管理の仕組みが採用されたらどんだけ幸せになれんのかな。
そもそもrustごと採用してくれれば良いのに
2017/07/23(日) 20:38:41.65ID:dr3Y8KYj0
Rust使いがあんまり幸せそうじゃない件
2017/07/23(日) 20:39:56.87ID:dr3Y8KYj0
いやそうでもないか…

言語仕様に振り回されてはいるが大概自分に原因を帰着してる
まだ信仰心旺盛なようだ
2017/07/23(日) 21:47:12.66ID:jwqjM4Na0
Rustなんか採用されたら気が狂うわ
2017/07/24(月) 07:40:43.41ID:UKDzlT7I0
でも静的にメモリ管理を解決するって
どんだけ良いものか気になるんだよね。
どうせswift5辺りで採用されんだから、先にrustに触って先行学習してても良いかもね。
多分swiftに採用されたら下位互換性また壊れるぜ
2017/07/24(月) 07:47:11.93ID:9l5j56yyp
Rustの元になってるC++ std::unique_ptrをどうぞ
ObjC++でも使えるゾ

>>141
下手な風評はSwift好きに迷惑だからやめろやw
149デフォルトの名無しさん (ワッチョイ 476c-d1J2)
垢版 |
2017/07/24(月) 09:18:58.69ID:mOlqqWbM0
>>139
時々見る、この「つ」ってどういう意味?
2017/07/24(月) 09:21:05.48ID:3yF9COr6M
三重の県庁所在地じゃない?
151デフォルトの名無しさん (エムゾネ FFff-ea0C)
垢版 |
2017/07/24(月) 09:52:25.50ID:LhEoev6pF
>>149
「つ」は、差し出す手のイメージ
2017/07/24(月) 10:26:23.68ID:1TXRI9GxM
>>148
c++にはなんでもあるんだね。
でも言語仕様で縛らなくても静的にメモリ管理って可能なの?c++のプリプロセッサがすごいってこと?
153デフォルトの名無しさん (ワッチョイ 476c-d1J2)
垢版 |
2017/07/24(月) 10:27:01.25ID:mOlqqWbM0
>>151
俺には「つ」が手に見えない。手のひら?手の甲?
154デフォルトの名無しさん (ワッチョイ 476c-d1J2)
垢版 |
2017/07/24(月) 10:29:33.52ID:mOlqqWbM0
>>152
オブジェクトへの参照が1個、複数の別で、
unique_ptr, shared_ptrを使い分ける。

参照するだけで、所有しないweak_ptrってのもある。

要するにリファレンス・カウント式のメモリ管理なのだ。
Objective-Cの設計をC++が取り入れたのかな?
155デフォルトの名無しさん (ワッチョイ 476c-d1J2)
垢版 |
2017/07/24(月) 10:30:53.63ID:mOlqqWbM0
ちなみに、俺はC++を最近全然使ってない。C++詳しい人、
unique_ptr, shared_ptr, weak_ptr
の解説、よろしこ!
2017/07/24(月) 10:47:25.46ID:1TXRI9GxM
>>154
ただのリファレンスカウント方式ならrustとは違うで。
2017/07/24(月) 10:49:27.16ID:d8RjP+270
逆だよ、C++のshared_ptrをObjCのARCに文法糖衣で取り込んだんだよ

>>152
unique_ptrは元々C++ boostのライブラリとして提供してたから出来るでしょ
ObjCもSwiftもそういう機能はライブラリじゃなく文法で取り込みたがるから言語更新待ちになるだけで
2017/07/24(月) 10:49:41.82ID:1TXRI9GxM
リファレンスカウントは全然静的に解決しているメモリ管理機構じゃない。
rustのやり方はコンパイル時に指摘してくれるけど、リファレンスカウントはけっきょく動的に解決するわけだし。
それならとっくにswiftで実現してるし。ARCだろ。
159デフォルトの名無しさん (ワッチョイ 476c-d1J2)
垢版 |
2017/07/24(月) 11:07:27.25ID:mOlqqWbM0
>>157
Boost Software License - Version 1.0 - August 17th, 2003

って事は、Boostの方が歴史が古そうですなぁ。ObjCよりも。
俺、誤解してたわぁ。
160デフォルトの名無しさん (ワッチョイ 476c-d1J2)
垢版 |
2017/07/24(月) 11:11:24.98ID:mOlqqWbM0
Apple Inc. deploys ARC in their operating systems, such as macOS (OS X) and iOS.
Limited support (ARCLite)[5] has been available since Mac OS X Snow Leopard and iOS 4,

with complete support following in Mac OS X Lion and iOS 5.[6] Garbage collection was declared deprecated in OS X Mountain Lion,

in favor of ARC, and removed from the Objective-C runtime library in macOS Sierra.[7][8]

ref. en.Wikipedia://ARC
ARC Liteの出現は、2009, Snow Leopardからみたい。
2017/07/24(月) 12:00:46.09ID:1TXRI9GxM
rustのメモリ管理の仕組みを見てきたけどプリプロセッサで何とかなるというものじゃなかったから、
c++ならあると言うものじゃなかった。
言語仕様から改変か必要なものだったよ。

簡単に言えば、メモリの参照は一箇所に制限されて、そこからしかアクセスできないようにする。

たから、もしswiftでrustのメモリ管理機構が導入されたら、
100%既存のコードでは動かないし単純に変換もできない。
ロジックの見直しが必要だからね。

例えば配列にループアクセス中は
配列に対する変更操作はすべてコンパイルエラーになる。とか。
2017/07/24(月) 12:08:11.82ID:kuRPbSwp0
いやownership manifesto読めよお前ら
全部書いてあんのに
2017/07/24(月) 14:33:26.45ID:wWQbQtbc0
>>148
https://github.com/sandym/swiftpp
これじゃねえの?XcodeありきObjective-Cありきだろ?
これじゃねえ、どれやねん?
164デフォルトの名無しさん (ワッチョイ 476c-d1J2)
垢版 |
2017/07/24(月) 15:17:51.01ID:mOlqqWbM0
>>161
「メモリの参照は一箇所」
まあ、そうかもしれんけど、俺の理解では参照カウントを1以上に上げない
様なメモリ管理ポリシーを実践する事で、メモリリークは防げると思う。

それから、Instrumentsとdebuggerを活用するのが吉。
最近気がついたのが、command+IでInstruments leaksを起動して捕捉出来なかったメモリリークが、不思議な事に、break pointで一旦止めてdebuggerからInstruments leaksを起動すると捕捉できるんだよねぇ。
2017/07/24(月) 22:22:24.32ID:QNE9e6LM0
>>151
マジか
俺ずっと「つ」って読んでたわ
2017/07/24(月) 22:26:31.27ID:AAnKdxV0p
=ア 【はい】

こういうのも👉に見えてなかったとか…
2017/07/24(月) 22:40:40.19ID:Ip9wN0np0
>>153
http://i.imgur.com/PCvtAbc.jpg
2017/07/24(月) 22:52:15.68ID:kuRPbSwp0
ノシ
169デフォルトの名無しさん (ワッチョイ e711-ea0C)
垢版 |
2017/07/24(月) 23:24:01.06ID:J5SFZDQ/0
>>153
手の平。
https://nanapi.com/ja/25657

https://m.chiebukuro.yahoo.co.jp/detail/q1410591729?__ysp=MmNoIOOBpA%3D%3D
[つ]は手を表現しています。

例えば、[( ・∀・)つ旦]というAAでしたら
旦はお茶のAAですので、
お茶をハイ、と差し出している様子を表しています。
2ちゃんねるでは省略形をよく用いますので
顔文字が省略されて[つ]のみで使用されます。

>>165
まじっす!
170デフォルトの名無しさん (ワッチョイ 6797-cAwC)
垢版 |
2017/07/25(火) 00:35:48.08ID:pCPhayDn0
つ⌒□

馬券、車券、くじ券をすてている
171デフォルトの名無しさん (ワッチョイ 476c-d1J2)
垢版 |
2017/07/25(火) 11:28:49.52ID:uSdVU4/I0
>>170

そんな、補足説明が必要なAAなんて、不要だわぁ。
2017/07/25(火) 13:50:52.52ID:gFjyvyPjp
わかんねー奴の方が少数だから
2017/07/25(火) 18:36:52.92ID:MoMVyAkE0
>>135
つまりは皆が出来ないうちに自分だけはSwiftを沢山書けるようになっておけば、Swiftがゴリ押しされたときに先行者利益を得られると思ったけどそうはならなかったから悲しいってことだろ?
別にAppleが推してないなんてことないと思うし、Obj-Cを崇めてる奴なんていないと思うし、Swiftはまだまだバージョンごとに変更がある割には十分普及してると思うけどな

大体Swiftをちょっと書かないと作れないぐらいのレベルだったら大してSwiftの知識もいらないと思うし銭稼ぎできるようなもんでもないと思うんだけどな
はじめにObj-C使わなきゃいけなくなったときに本1,2冊ぐらいしか買ってないし、Swiftに関してはお金まったく書けてないし、金稼ぎできる要素がある気がしない

>>138
C++をブリッジするとなるとC++の複雑な機能全てをブリッジ出来なきゃ有用性が落ちそう
限定された機能で書かれたC++コードだけブリッジしてくれるとかだと結局C++側がそれ以外の機能使ってたらラッパー書かなきゃいけなくなるし、落とし所が難しそう
2017/07/25(火) 21:49:06.28ID:GBfCSeDrd
Swiftの完成度が最初から高ければ状況は違ったかもな
あとむだにWithout Cに走ったのは筋が悪かったと思うわ
2017/07/25(火) 22:11:09.32ID:GZGsW4rL0
C++ブリッジってそれもうwith C++だからな
テンプレート除けばそれなりに出来るだろうけど
テンプレート除いたC++に対応したところでだから何なのって話になるし
2017/07/26(水) 00:11:43.09ID:f0n9OFYu0
Without Cをぶち上げたんだからもうCに関わるなよ
韓国人かよ...
2017/07/26(水) 00:29:39.23ID:qL2o6nlmd
Cライクforもインクリメント、デクリメントもなくす無駄な徹底ぶりだからな
2017/07/26(水) 06:41:21.77ID:3wgr+b8u0
Pythonぽくて好きよ
2017/07/26(水) 12:41:46.12ID:p1ZvRLSy0
なんかswiftどんどん構文追加して複雑になってないか?
phpみたい
2017/07/26(水) 12:46:08.87ID:0VRUk0dC0
せめてObjCみたいって言ってくれよ
2017/07/26(水) 12:53:13.70ID:3gkHvmLyM
>>176
マルチプラットフォーム化に加えて
膨大なossがcやc++で書かれてるんだから無視は不可能だ。
2017/07/26(水) 13:24:53.92ID:aZ/eqHae0
Without Cは言語仕様(構文)の話
2017/07/26(水) 16:59:40.71ID:2aPuu4440
むしろ、Objective-Cの「インスタンスは母体クラスに[おまえのインスタンスを作れ]命令で作成します」とか
「クラス間の通信はクラス[命令:引数]で明示的に他のクラスに実行させてるとわかります」が好きだったので
そのあたりswiftが「退化」しちゃったのが嫌。

言語仕様とクラス仕様が分離しててクラスライブラリだけ進歩してくとか
ソース内で自他の表記がしっかり別れてて「ここであいつがこれやって次…」
と読めるのが気に入ってたのに
他のグチャグチャモダン言語と同じ言語仕様変更地獄と
ソースになんだかわからない誰かが作った記号が普通に混じりますって
これ、ずっとプログラミング文化の発展阻害してた奴だ…と
2017/07/26(水) 17:12:34.07ID:X3I7XP0c0
>>183
>明示的に他のクラスに実行させてるとわかります

Swiftでは分からんの?
2017/07/26(水) 17:16:43.62ID:jBsCP9tYM
>>184
いやわかるよ
2017/07/26(水) 17:17:39.81ID:X3I7XP0c0
>>183
>ソース内で自他の表記がしっかり別れてて

これ何のことを言ってんの?
自他の区別がつかない言語なんてあんの?
そんな精神病みたいなプログラムあっても実行できなくね
2017/07/26(水) 17:37:22.29ID:jBsCP9tYM
多分全部staticで書いてんだろ
おそらくインスタンスとクラス、動的メッセージと静的メソッドの違いがわかってない
2017/07/26(水) 19:04:57.26ID:Q9Wh0Ukp0
$

↑こいつ

今までの理念をぶちこわすような暴挙
itでもなんでもよかったのになんでこれにした
2017/07/26(水) 19:22:50.49ID:0VRUk0dC0
一方俺は、ObjCの言語仕様にクラス変数が追加されて、既存フレームワークのクラスメソッドがクラス変数に変わって発狂していた

>>188
$0, $1, etc.として複数引数の場合でも引数記述を省略させるためでしょ
シェルスクリプトを書いたことないとなんぞこれってなるが、it0, it1よりはスマートだと思うが
2017/07/26(水) 19:32:05.98ID:SoUQ8WPld
>>181
なので普通に考えるとObjective-C 3.0として改良発展させるのがよかったと思うんだよね...
2017/07/26(水) 19:33:29.48ID:SoUQ8WPld
>>183
禿同すぎる
2017/07/26(水) 19:44:28.65ID:Q9Wh0Ukp0
>>189
いちいち引数に名前つけさせて、
省略できるのはひとつまでって感じで今まできてたじゃん!

ここにきてこれ
itですら多少は意味があるが、$ってなに?
なんで急にドル記号が出てくんの
2017/07/26(水) 20:10:19.84ID:aZ/eqHae0
itの方がマシというのは別に否定しないけど
「今までの理念」というのはSwiftには無くね
2017/07/26(水) 21:11:05.37ID:X3I7XP0c0
俺はitより$nの方がマシだと思うけどね

「名前を省略する」ためのものに「名前をつけた気になる」ために$nをやめてitにするってかなり本末転倒じゃない
どうせ具体的な名前が無いなら、極めて曖昧なitなんて単語じゃなく、どこまでも記号的な$nでいい
敢えて単語にするならanonymousArgumentとかclosureArgumentとかにして、クロージャの名前がない引数であるという意味を表さないと
itなんて、$nと同じぐらい何も意味を表さないのに、無駄に単語の体をしてるだけタチ悪いと思うわ

逆にwillSetの引数名省略時のnewValueみたいに、最低限あらかじめ意味が限定されてるところでは、$nでもitでもなくちゃんと最低限の意味を表す省略形になってる
2017/07/26(水) 22:07:58.73ID:SoUQ8WPld
どーでもいいけどいい加減syntaxのセンスがクソ過ぎやしないか?
2017/07/26(水) 23:04:09.76ID:0VRUk0dC0
シンタックスのセンスなんてどーでもいいし・・・
2017/07/26(水) 23:45:24.29ID:Q9Wh0Ukp0
本音をいうと省略させたくない
書き方増やしてどうする
2017/07/27(木) 00:17:20.77ID:stgr+uVA0
俺も書き方のバリエーションが増えるのは反対だな。誰が書いても同じ文法で、誰が書いたコードでも誰でもさっと読めるのが理想だったな。
2017/07/27(木) 00:19:52.29ID:YcR0VV5Q0
swiftでrxSwiftさわったらすごくRxがわかりやすくなったのは良い思い出。
objcだとわけわかめだった。
構文って結構学習コストに関わるんだなって理解した瞬間でした。
2017/07/27(木) 00:21:32.40ID:8AwtWwUr0
>>198
Haskellが普及しないのは、その理想を追い求めすぎてるからだけどね
2017/07/27(木) 00:27:01.52ID:YcR0VV5Q0
>>200
書き方のバリエーションの少なさでいったらgoがいい感じではないかと。
中括弧の位置すら強制するからね。
202デフォルトの名無しさん (ワッチョイ 7b32-VhqT)
垢版 |
2017/07/27(木) 10:53:29.63ID:ck0CL7KM0
objCは文法に多様性がありすぎて俺には理解できなかった
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がある。
2017/07/27(木) 20:21:49.26ID:YcR0VV5Q0
>>204
双方向バインディングとRxを一緒にするない。
2017/07/27(木) 21:59:22.87ID:dY8Lj/zzd
>>202
メッセージ式は面食らったが、CとJavaをやってたからあんまり覚えることなかったけどなObjC
2017/07/28(金) 08:50:56.18ID:NpsU3dCha
>>183
> クラス[命令:引数]

スレチ引っ張って悪いけど、ObjCにこういう記法あったっけ?
[クラス 命令:引数] とかだと思ってたのだが…
2017/07/29(土) 08:59:34.62ID:/r3JclQn0
>>207
そだね
2017/07/29(土) 13:02:57.19ID:arVZp8ApM
レベルに合わせた書き方すりゃいいじゃんよ
generics,typealias,operator overload この辺は無理して使うことない
boilerplate無くしてえなーもっとコードを直感的に書きてえなー、そもそも今までの書き方飽きたから違った書き方してえなー
という欲求が生まれた時に導入すれば良い。そうすりゃObjCとも大して見た目変わらんしな
210デフォルトの名無しさん (ワッチョイ 0f7e-XfY8)
垢版 |
2017/07/29(土) 17:08:58.83ID:wplyINA+0
>>209
なるほどぉ。
ところで、Swift -> ObjCへ移行する時に、RxSwift相当のFramework
って、ReactiveCocoaって事になるのかなぁ?
2017/08/05(土) 14:14:44.53ID:dw0K286c0
Swift一発屋になってんじゃねえか。
ピコ太郎だってもっとまともにやってるぞ。
もっと頑張れよApple。熱くなれよ!
2017/08/06(日) 17:25:37.14ID:exhLY8Mw0
>>210
言っておくけど、Rxとobjcは全く相性が悪い。
なんでかというとあのobjcのメッセージ式
Rxってメソッドチェーンが無いとかなり実装しづらいのに
objcでは書けないのだよ。
[]のネスト地獄を味わう事になる
2017/08/06(日) 17:36:38.87ID:/dqOVGNEd
Rispも知らないんだろうなぁ..
214デフォルトの名無しさん (ワッチョイ 4b7e-LqqZ)
垢版 |
2017/08/06(日) 17:37:55.69ID:A+R4LQxw0
>>212
なるほどぉ
Cocoa BindingとかCore Dataを使えって事なのね。
ところで、ObjC Wizardの方々は、Core Data使うんでしょうかねぇ?
2017/08/06(日) 17:49:19.26ID:/dqOVGNEd
LISP
2017/08/06(日) 20:13:36.95ID:uZylSw7t0
Lispのtypoかよw
そういうワードがあるのかと真面目に受け取ってた

あ、自分はvim派なんでelisp含め使ったことないわ
elisp wizardは変態だと尊敬してる
2017/08/06(日) 22:21:23.59ID:/dqOVGNEd
>>216
すまんw
まあメッセージ式のネスト地獄もLisp様から見ればかわいいもんですw
218デフォルトの名無しさん (ワッチョイ 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(); // こんな感じ!
2017/08/07(月) 10:15:21.88ID:0r/N/mwc0
既にクラスプロパティとオブジェクトプロパティで実現できてるね!ObjCはすごいね!
クラスプロパティの存在を知らないんだろうなぁ、ObjCについてもうちょっと勉強してこい
2017/08/07(月) 11:43:23.35ID:+uPJUr/1p
>>219
いや、引数あったら出来ないだろ

ところでドット構文マンセーな人ってiOSやる前は何の言語がメインの人?
221デフォルトの名無しさん (ワッチョイ 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では@を置き換えるみたいな感じで
2017/08/07(月) 16:52:39.28ID:nxE7L61t0
|> の元ネタは F#
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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