17/07/02 18:44:51.58 uCQPXMN6d.net
SwiftとXcode学ぼうとおもってるんだけど、オヌヌメの本ある?
15:デフォルトの名無しさん (ワッチョイ 1911-wjSU)
17/07/02 18:55:19.60 PPQhv25G0.net
>>13
型推論ちゃんがドジらないようメソッドチェーンせず一つずつやらせる
do {
let a2 = a.map{$0*10}
let a3 = a2.filter{50<$0}
print( a3.prefix(5).array )
}
16:デフォルトの名無しさん (ワッチョイ 826c-rlqC)
17/07/02 19:10:09.36 ymzX8oAS0.net
4.0だと>>7で問題ないぽいな
17:デフォルトの名無しさん (ワッチョイ 6d7e-QA6g)
17/07/02 19:23:57.56 flwPV3hx0.net
>>14
あんたのbackground次第だな。
萩原本は、万人向けだが。
18:デフォルトの名無しさん (ワッチョイ 1911-wjSU)
17/07/02 20:44:23.57 PPQhv25G0.net
>>16
確かに4だと直ってるな
issues見たけどオーバーロードやlazy等に関する直接的な対応は見付けられなかった
オーバーロード解決に後続のチェーン使う地雷が修正されてるなら有り難いけど
19:デフォルトの名無しさん (スプッッ Sdc2-OatX)
17/07/02 21:36:26.29 eTKnpEgqd.net
>>15
ありがとう
いつか嵌ったときに思い出すよ
20:デフォルトの名無しさん (ワッチョイ 77e5-Wxq/)
17/07/07 10:54:58.74 iSt0xPuD0.net
ワンライナーに至上の価値を置いてるやつは初心者
複数言語、プラットフォームにまたぐ開発をやったことなく
狭い世界で安全なコード規約に保護されてないと開発できない箱入り息子ども
その狭い価値観でプログラミング言語を語り出すと>>7のような間抜けなことを言い出す
SwiftがあるのにピザってるJVMで動作するkotlinを選ぶやつは初心者も初心者
21:デフォルトの名無しさん (ワッチョイ 77e5-Wxq/)
17/07/07 10:58:39.58 iSt0xPuD0.net
ていうかKotlinなんか眼中になくてCrystallangやElixirがめっちゃ気になってるんだがね
やつらベンチだとSwiftより速いらしいやん
どんなマジック使ってるんだ
22:デフォルトの名無しさん (ササクッテロラ Spcb-2NKy)
17/07/07 12:57:22.01 +5jMM75Op.net
他言語を専スレで話題にしようとする初心者
加えて、VM言語が下手なネイティブより高速になることがある背景を知らない初心者
Swiftは特定条件下ではobjcより早いけど、一般的には別段速くないって昔から言われてるから
23:デフォルトの名無しさん (ワッチョイ 5711-hFsI)
17/07/07 16:27:22.50 T5EkXb6i0.net
"ワンライナー"と呼んでいるやつは初心者
ちなみにElixirでは単なるメソッドチェーンに留まらずパイプ演算子が用意されている
24: https://blog.drewolson.org/elixir-streams/ import Stream a = iterate(0,&( &1+1 )) IO.inspect a |> map(&( &1*10 )) |> filter(&( 50<&1 )) |> take(5) |> Enum.to_list, char_lists: false
25:デフォルトの名無しさん (ワッチョイ f711-lTuT)
17/07/08 17:59:47.97 9wd2fVEY0.net
Obj-Cで困らないんだが...
26:デフォルトの名無しさん (ワッチョイ d70d-L5XL)
17/07/08 18:06:37.95 RHeSLAN60.net
Cベースじゃないモダンスタイル言語にsmalltalk思想かと思ったら
objective-Cとまったく関係ない実験作が出てきたからなぁ…
あきらかにAppleWatchともどもジョブズが
「これじゃまだダメだろ」って止めてたのが
お漏らしして表に出てきちゃった感
27:デフォルトの名無しさん (ササクッテロリ Spcb-2NKy)
17/07/08 20:54:25.61 69drE4+rp.net
Obj-C使ってる奴の老害感(Mac板
28:デフォルトの名無しさん (ワッチョイ f77e-Y/ku)
17/07/08 21:44:39.09 kEunb2nv0.net
>>26
Swift -> ObjCへ移行中。Swiftだけしか知らない事に、危機感。
ObjCコンパイル早いし。
29:デフォルトの名無しさん (ワッチョイ f711-lTuT)
17/07/08 23:37:48.53 9wd2fVEY0.net
>>26
老害以外に言うことないのかね...
30:デフォルトの名無しさん (ワッチョイ f77e-ATab)
17/07/09 05:46:33.77 GCKhJDjB0.net
>>26
ボキャブラリ貧困
31:デフォルトの名無しさん (ササクッテロリ Spcb-2NKy)
17/07/09 07:02:46.84 rWTT//QAp.net
mac板での自爆ギャグが悔しかったのか必死だなw
こっちの板はアンチスレもあるし老害orガイジでないならそっち行くといいよ
32:デフォルトの名無しさん (ワッチョイ f77b-lTuT)
17/07/09 09:43:38.60 XPzyjd3D0.net
他スレにも出向いてObj-C=老害を吹聴してSwiftを布教して回ってんのかよ...
82 1 名前:名称未設定 (ササクッテロリ Sp71-yTFi) Mail:sage 投稿日:2017/07/03(月) 20:24:07.40 ID:ipKiHhaqp
これは老害ですわ
なんでこんな古いObjCの記述をするんだよw
Modern Objective-Cを学び直すか、ObjCを捨ててSwiftを学ぶべきだな
33:デフォルトの名無しさん (スップ Sd3f-Zww2)
17/07/09 09:48:07.95 W1Kac4fsd.net
>>26
何歳から老害なんですか?
あなたはいつから老害になるんですか?
それとも、歳くってもModernな言語をさわって布教してれば老害にはならないのですか?
34:デフォルトの名無しさん (ササクッテロリ Spcb-2NKy)
17/07/09 09:50:16.64 rWTT//QAp.net
いや、そこSwiftスレじゃん
そしてあまりにも酷いObjCコードをスレチで書いた老害が悪いわw
業務ではObjCしか使わないしSwiftが良い言語と思っちゃいないが、専スレでアンチは勘弁な
35:デフォルトの名無しさん (スップ Sd3f-Zww2)
17/07/09 10:04:05.98 ubbDJ28zd.net
>>33
もう一度おききしますね
何歳から老害なんですか?
あなたはいつから老害になる予定ですか?
それとも、歳くってもModernな言語をさわって布教してれば老害にはならないのですか?
36:デフォルトの名無しさん (ワッチョイ f77b-lTuT)
17/07/09 10:09:22.98 XPzyjd3D0.net
(^^;;
37:デフォルトの名無しさん (ワッチョイ 9f6f-UF+C)
17/07/09 10:43:37.17 7zogvxJ60.net
ObjCでいいはないだろ...
何たってサーバーサイドも書けるんだぜ?
何もせんでもキャリアが伸びるこんなおいしい話はない
来年あたりSwiftのサーバーサイドでの積極採用の会社も出てくると予想してる
38:デフォルトの名無しさん (ササクッテロリ Spcb-2NKy)
17/07/09 10:50:14.35 rWTT//QAp.net
>>34
Modern Objective-Cが書けるなら老人であっても老害じゃないんじゃないの
あとSwiftスレでObjCで荒らしてるのはガイジかな:)
39:デフォルトの名無しさん (ワッチョイ d700-cxsd)
17/07/09 10:59:41.20 K0mwJiCj0.net
>>36
さすがにそこ
40:まではないと思う サーバーサイドに使われるようになるには ライブラリやフレームワークの充実度が重要 すでに他言語が相当前にいるので追いつくまでそうとうかかる
41:デフォルトの名無しさん (ワッチョイ 9fea-OB+r)
17/07/09 11:16:23.18 Y9w3zegu0.net
>>36
サーバーサイドは実験レベルで書けるけど実務レベルでは無理だろ
まだまだ時間が必要だと思う
42:デフォルトの名無しさん (ワッチョイ ffdb-j4lg)
17/07/09 11:16:38.17 +2xoEb/90.net
>>34
老害=年齢で決まると思ってる時点でお前はただのアホやで
43:デフォルトの名無しさん (スップ Sd3f-Zww2)
17/07/09 12:31:30.62 JmS2/1Qnd.net
>>40
shine
44:デフォルトの名無しさん (ワッチョイ f77e-Y/ku)
17/07/09 12:35:41.50 GCKhJDjB0.net
>>34
お前が老害
45:デフォルトの名無しさん (スップ Sd3f-Zww2)
17/07/09 12:39:52.64 JmS2/1Qnd.net
>>29
>>42
shine
46:デフォルトの名無しさん (ワッチョイ f77e-Y/ku)
17/07/09 12:40:36.19 GCKhJDjB0.net
ObjC専用スレ覗いて見た。最後のレスが今年の2月だった。
ObjCをちょっと触ってるけど、良い感じだわぁ。
ちょいと、メソッド名が冗長な感じはするけど、スルスルとコンパイルされるのが良い。
コンパイルエラーが不親切って感じはするけど。
その点、Swiftコンパイラは親切but時間かかる。
47:デフォルトの名無しさん (ワッチョイ 9f6f-UF+C)
17/07/09 12:56:04.79 7zogvxJ60.net
差分ビルドなら結局ObjCもSwiftも大して差を感じたことがないが
Swiftのビルド遅い遅い言ってるのは常にクリーンビルドでもやってんのかな
それかMacbook or Airだと体感差が出るとか?Proだと差が感じられない
48:デフォルトの名無しさん (ワッチョイ 9f6f-UF+C)
17/07/09 12:57:56.01 7zogvxJ60.net
まーSPMの構成変えた後一からビルドすることになる時は俺もイラッ☆とするけどな
49:デフォルトの名無しさん (ワッチョイ 1748-gXZb)
17/07/09 13:13:17.68 7wqzHkG/0.net
>>45
SSDだとSwiftが遅いって思ったこと無いけど、HDDだとめちゃくちゃ遅く感じる、というかやってられない
50:デフォルトの名無しさん (ワッチョイ 9fea-OB+r)
17/07/09 13:21:17.87 Y9w3zegu0.net
ビルドの速さを語るときはせめての目安としてコンパイルするファイル数も言わないと意味がないかと
51:デフォルトの名無しさん (ササクッテロリ Spcb-2NKy)
17/07/09 13:23:32.50 ZUuC+mRKp.net
Copying swift library ... が怒り通り越して笑いが出る
SSDでも普通に体感差があるけどないの?
52:デフォルトの名無しさん (ワッチョイ f77b-lTuT)
17/07/09 13:24:42.64 XPzyjd3D0.net
AppleがCoffeeタイムを提供してくれているのさ
と信者ならポジティブに解釈できることだろう
53:デフォルトの名無しさん (ワッチョイ bf32-yTjp)
17/07/09 17:27:56.47 M1SE5oNM0.net
Swiftのビルドは遅いと思わないな。
遅いと言ってる人は多分StoryBoard使ってたり、変数の宣言時に型指定してないんだろうな。
54:デフォルトの名無しさん (ワッチョイ ffe3-KuRC)
17/07/09 18:51:26.63 58HcjkUe0.net
型推論全否定すんな
だいたいC#はvarでも速いぞ
55:名無しさん@そうだ選挙に行こう! Go to vote! (ササクッテロリ Spcb-2NKy)
17/07/10 07:36:25.56 Y8I/wQdop.net
型推論の比較対象はC++だろw
56:名無しさん@そうだ選挙に行こう! Go to vote! (ワッチョイ 77e5-UF+C)
17/07/10 08:29:12.31 mGucQnNk0.net
ふーんHDDだとそんなに遅いんだ
Pro Retina SSDがSwiftやる上での下限スペックってことかな
13inch 128GBは罠だが・・・
57:デフォルトの名無しさん (ワッチョイ 9f20-gfZI)
17/07/10 18:53:10.56 knKTPcd80.net
ARCって循環参照したらメモリリークすんでしょ?
だからってweakとかunownedにしたら間違って解放後にアクセスしちゃうかもしれないし
マ
58:ジ使えねー
59:デフォルトの名無しさん (ワッチョイ 9f11-iY2e)
17/07/10 20:47:48.41 vzjIr3Mm0.net
>>44
Objective-Cはキモいくらいにコンパイル速いよな。
なんかSwiftよりも楽しそうな感じするな。
60:デフォルトの名無しさん (オイコラミネオ MM4f-cxsd)
17/07/10 22:05:22.14 aPcSY6kVM.net
>>55
自分でメモリ管理したら循環参照しないってこと?
どっちもどっちだろ
あんまり関係ないと思うけど
61:デフォルトの名無しさん (ワッチョイ d70d-L5XL)
17/07/10 22:20:27.57 OxPhUDSQ0.net
たぶんガーベージコレクションなら背後でCPUパワーを食い続けて全部監視してくれる!と言いたいのでは
62:デフォルトの名無しさん (ガックシ 068f-QYYo)
17/07/10 23:35:14.81 5DkNY5/u6.net
Cで作った関数をSwift上で使いたいのですが、
文字列のアドレスを渡す関数でエラーが出てしまいます。
何が原因でしょうか。。。
@IBAction func BtnClick_ConnectTest(_ sender: Any) {
//接続先設定
var port:Int32 = Int32(_textFirld_sendPort.text!)!
var IP:String = _textField_sendIP.text!
var str:String = "test"
MyScocket_init()
setScoketSend(port,IP)
SendUDP(Unmanaged<AnyObject>.passUnretained(str as AnyObject).toOpaque() ,str.utf16Count)
}
int SendUDP(char* str, int strsize){
// パケットをUDPで送信
int ret = sendto(g_sockets[SOCK_SEND].sd, str, strsize, 0,
(struct sockaddr *)&g_sockets[SOCK_SEND].sock, sizeof(g_sockets[SOCK_SEND].sock));
if( ret < 0) {
perror("sendto");
}
return ret;
}
エラー内容
Cannot convert value of type 'UnsafeMutableRawPointer' to expected argument type 'UnsafeMutablePointer<Int8>!'
63:デフォルトの名無しさん (ガックシ 068f-QYYo)
17/07/10 23:36:58.98 5DkNY5/u6.net
>>59
すみません。エラーが出ている箇所はSendUDP(char* str, int strsize)を呼び出した部分でエラーが出ています。
その他の場所は特に問題ないみたいです
64:デフォルトの名無しさん (ワッチョイ d700-cxsd)
17/07/10 23:37:47.31 Hza8gIww0.net
GCと比較してたのか…
それなりのコストかかるから単純に比較できんけどなぁ
65:デフォルトの名無しさん (ワッチョイ d700-cxsd)
17/07/10 23:39:48.29 Hza8gIww0.net
>>59
何が原因って、エラー内容のままじゃん…
英語読めないならぐくるとかしてみなよ
66:デフォルトの名無しさん (ワッチョイ 5711-KuRC)
17/07/10 23:52:21.77 LuuY8Q0f0.net
>>59
bindMemory
67:デフォルトの名無しさん (ワッチョイ 572d-KuRC)
17/07/11 01:40:47.21 gmstQp2n0.net
最近書き始めたけど、これ凄いな
簡単にアプリ作れて驚いた、凄い書きやすいわ
ただ基本的な文法をもっと勉強したいんだけど、良い参考書って何かないですかね
アプリ入門系の本だと、アプリで使うメソッドしか解説がないのでもっと基本的な所から勉強したい
68:デフォルトの名無しさん (ワッチョイ 9f61-cxsd)
17/07/11 03:13:01.93 l+dots440.net
とりあえず萩原本の最新の買っとけ
69:デフォルトの名無しさん (ワッチョイ f7a9-aOiv)
17/07/11 04:41:16.12 rvrzGERi0.net
言語仕様としてtypescriptも十分楽しいしあえてswiftえらんでベンダーロックインする必要もない
70:デフォルトの名無しさん (スップ Sdbf-j4lg)
17/07/11 11:23:21.08 ZgquAFHgd.net
>>64
appleにあるでしょ
71:デフォルトの名無しさん (ワッチョイ f76c-QYYo)
17/07/11 11:56:52.95 uTsC6u070.net
>>64
Core Foundationのソースを見ろ!
いろんなCの関数が並んでる。
72:デフォルトの名無しさん (オッペケ Srcb-R1hf)
17/07/11 12:07:35.73 Hq6/pqoer.net
swiftってあんまUDP使ってる人いないきがするけど、主流はTCPなの?
73:デフォルトの名無しさん (ワッチョイ f76c-cxsd)
17/07/11 12:25:37.46 oWge628W0.net
主流も何も用途次第でしょ
74:デフォルトの名無しさん (ブーイモ MMfb-aOiv)
17/07/11 13:47:20.91 6GA6X5kAM.net
iosは基本的にhttpsで通信なんだから強いて言えばtcpなんだろうけど、
今時その層を意識する必要あるのかな。websocketとかある時代だし
ルーター超えとか考慮するのにtcpから触るとか無理ある
75:デフォルトの名無しさん (ワッチョイ f7d1-QYYo)
17/07/11 15:38:11.48 NnERboSX0.net
httpに限らずTCP利用のサービスの方が多いだろ。UDPはよほどパフォーマンス気にするようなサービスでだが、ビデオストリームでさえTCP(それもhttpなんて)でいいやの方が主流でUDP使ってるのが稀になってるだろ
76:デフォルトの名無しさん (ワッチョイ f7f4-L5XL)
17/07/11 18:57:19.43 f6AJLSJm0.net
QUIC
77:デフォルトの名無しさん (ワッチョイ f7d1-QYYo)
17/07/11 19:48:11.70 NnERboSX0.net
(まだ)マイナーなの出しても意味ないだろw
そのQUICとやらも>>69が使うぶんにはTCPだのUDPだの気にすることは無いだろし。UDPでちまちまやるんだったら意味ねえからな
78:デフォルトの名無しさん (ワッチョイ 976f-fYl/)
17/07/11 20:10:17.79 ScJXy/Hw0.net
リアルタイム性が重要な分野以外では生UDPの出番なんてない
QUICだって結局改良版TCPじゃん
79:デフォルトの名無しさん (スプッッ Sd3f-j4lg)
17/07/11 20:23:33.95 Q6KlR0b1d.net
Aさんが書いたコードなclassだらけ、Bさんが書いたコードはstructだらけ
classは糞、structは糞と水と油をひたすら掛け合う日々
このクソ言語なんとかして
80:デフォルトの名無しさん (オイコラミネオ MM4f-cxsd)
17/07/11 20:40:30.35 YsnaROp/M.net
互いにだらけになる方がおかしいだろ
一方は値型で一方は参照型なのに
どんなアプリ作ったらそんなんなるんだ?
81:デフォルトの名無しさん (ワッチョイ 5711-KuRC)
17/07/11 20:58:45.14 HBLQ2eVf0.net
>>76
AさんBさんに、使い分けどころか組み合わせることもあるんすよって教えてあげて
URLリンク(github.com)
82:デフォルトの名無しさん (スプッッ Sd3f-j4lg)
17/07/11 21:12:02.54 Q6KlR0b1d.net
Aさんはstruct不要論者のjavaerでclassしかつかわない
Bさんは継承アンチで基本struct、部分的にclassを使う
はあ糞すぎる
83:デフォルトの名無しさん (ワッチョイ 9f20-gfZI)
17/07/11 21:21:14.43 ARlFR3Nh0.net
>>76
When to use struct?
URLリンク(stackoverflow.com)
Choosing Between Class and Struct
URLリンク(docs.microsoft.com)
✓ CONSIDER defining a struct instead of a class if instances of the type are small and commonly short-lived or are commonly embedded in other objects.
X AVOID defining a struct unless the type has all of the following characteristics:
It logically represents a single value, similar to primitive types (int, double, etc.).
It has an instance size under 16 bytes.
It is immutable.
It will not have to be boxed frequently.
84:デフォルトの名無しさん (ワッチョイ f7a9-aOiv)
17/07/11 23:20:13.04 rvrzGERi0.net
goみたくclass無くしてstructだけにしてくれたら良かったのにね。
値型と参照型の違いとは言うけど、
普通にそんなん考慮して使い分けてるのって何割いるか
85:デフォルトの名無しさん (ワッチョイ 5711-KuRC)
17/07/12 00:00:01.48 uvMvuqTN0.net
>>81
型定義で指定するか変数定義の違いだけでは
86:デフォルトの名無しさん (ワッチョイ 9f6f-UF+C)
17/07/12 12:14:48.88 Ft5NBnXm0.net
classはiOS frameworksとの互換性維持のためにあるだけだろ
基本structでいいよ
サーバーサイドはほぼStruct一色だわ
87:デフォルトの名無しさん (JP 0H3f-KuRC)
17/07/12 13:32:57.34 DcKWLYd4H.net
var a = Array<Int>()
var a = [abc]()
違いって何?
88:デフォルトの名無しさん (ワッチョイ ff17-txss)
17/07/12 17:42:49.46 TL+DQEEP0.net
>>59
誰も答えないからやってみた
ref. URLリンク(stackoverflow.com)
@IBAction func BtnClick_ConnectTest(_ sender: Any) {
//接続先設定
var port:Int32 = Int32(_textFirld_sendPort.text!)!
var IP:String = _textField_sendIP.text!
var str:String = "test"
MyScocket_init()
setScoketSend(port,IP)
SendUDP(str)
}
int SendUDP(const char* str) {
// パケットをUDPで送信
int ret = sendto(g_sockets[SOCK_SEND].sd, str, strlen(str), 0,
(struct sockaddr *)&g_sockets[SOCK_SEND].sock, sizeof(g_sockets[SOCK_SEND].sock));
if( ret < 0) {
perror("sendto");
}
return ret;
}
昔はUnmanagedやらOpaqueやらUnsafeやら操作しなきゃいけなかったような気がするけど変わったかな
まぁ、Stringは(ほぼ)組み込み型で特別扱いされてるだけで、ARC管理下の自前オブジェクトは管理が必要なはず
89:デフォルトの名無しさん (スップ Sd3f-Zww2)
17/07/12 18:21:47.80 ZOQNZDbbd.net
ポインターがないSwiftめんどくさ
90:デフォルトの名無しさん (JP 0H8a-FPdr)
17/07/13 13:42:07.18 gLbFU3lkH.net
>>85
ありがとうございます!
助かりました。
ちなみにiosでTCP/UDP使う時に使いやすいapiないですか?
今回、UDP通信するにあたってCFソケットも検討したんですが、いまいち使いづらくて
C言語の方が慣れてるんでCで書いたんですけど
91:デフォルトの名無しさん (ワッチョイ 84d1-NvYO)
17/07/13 14:26:17.90 YXo9YsXu0.net
Cのでええやん?慣れてるなら
あくまでもSwiftっぽくなら、Objective-Cのでもええやろ?iOS APIがほぼそれなんだし
92:デフォルトの名無しさん (JP 0H8a-FPdr)
17/07/13 17:57:36.12 gLbFU3lkH.net
>>88
ありがとう。Cで書くよ
調べてたらswiftでCでソケット通信を作るのは一般的じゃないみたいな記事みたからちょっと気になった
93:デフォルトの名無しさん (ワッチョイ bc7b-svru)
17/07/13 22:54:25.78 60WI1OgY0.net
Cで出来てることはObjective-Cならそのままできる
94:デフォルトの名無しさん (ササクッテロリ Sp39-oIZr)
17/07/15 09:53:18.00 sMrmZnSip.net
>>86
ポインタがないのが面倒なんじゃなくARCが面倒なんだぞ
今回はARC度外視できたけどARC管理下のオブジェクト取り回しはObjCでも同じだからな
95:デフォルトの名無しさん (ササクッテロロ Spc1-6W30)
17/07/16 18:56:33.79 h3A0HejCp.net
Pythonみたいに極限までに研ぎ澄まされたシンプルさと美を兼ね備えた言語で開発したい
96:デフォルトの名無しさん (ワッチョイ 4ce3-z+eH)
17/07/16 23:52:07.18 QMScBLa+0.net
if __name__ == '__main__':
美しい?
97:デフォルトの名無しさん (ワッチョイ bc37-svru)
17/07/17 08:21:51.45 Ze9nWRlN0.net
>>93
とても高級言語とは思えない醜さ
98:デフォルトの名無しさん (スップ Sdc4-tNHj)
17/07/17 09:25:14.61 NNb10sQTd.net
>>94
無駄にかっこ無くしたSwiftも似たようなもんだけどな
99:デフォルトの名無しさん (ワッチョイ 4611-ReYe)
17/07/17 10:35:41.40 Mc06oZvK0.net
日本ではSwift大人気だけど、海外だとそれほど人気ないらしいね。
言語ランキングとかだと日本だけ異様に高いらしい。
100:デフォルトの名無しさん (ワッチョイ c66b-svru)
17/07/17 10:39:22.12 VuxDjspY0.net
>>96
だろうな
相当のApple信仰心がないと付き合ってらんねぇよってなるだろ
しかもにわかでない元々のApple好きはJobs教だからObjective-Cでいいって思ってるし
101:デフォルトの名無しさん (ワッチョイ 84d1-NvYO)
17/07/17 10:49:55.85 jv/mhdui0.net
隙あらば妄想語り
102:デフォルトの名無しさん (JP 0H3a-G/zD)
17/07/17 15:18:50.28 fxU6unKKH.net
>>93-94
shebangが美しいとかω
103:デフォルトの名無しさん (ブーイモ MM98-cMRf)
17/07/17 16:28:59.78 5dSbIPaGM.net
>>94
書きたくなければ書く必要ないんだぜ。
そもそもswiftじゃ同じことを書くことすらできないだろ。。
104:デフォルトの名無しさん (ササクッテロレ Sp72-6W30)
17/07/17 22:42:54.90 PIFacTeJp.net
スクリプトはPython一強になりつつあるな
コンパイラは何だかんだとJAVA、強者はC/C++で次点にC#が勢いを増しつつある感じ
105:デフォルトの名無しさん (ワッチョイ 166d-e5K2)
17/07/18 07:56:20.08 Ttzd9ReG0.net
>>92
Python文法を踏襲しつつ、イマドキ?な言語PFになってるnimがあるぞ
Swiftを越えるクソっぷりで海外でも日本でも不興だけども
106:デフォルトの名無しさん (ワッチョイ d06c-Oo8n)
17/07/19 00:14:23.59 9uIEKdpP0.net
>>102
wikipedia見ただけだと凄そうなんだけど、どんなところがクソなの?
107:デフォルトの名無しさん (ワッチョイ ba11-6W30)
17/07/19 03:21:11.49 dfarNNhW0.net
これからはDNAプログラミングの時代
108:デフォルトの名無しさん (ササクッテロリ Sp39-e5K2)
17/07/19 12:36:23.74 BtGwiF1+p.net
>>103
1. 目標として掲げた言語仕様に対する完成度がswift betaくらいに未完成
2. nimソースを他言語ソースにコンバートして、他言語ソースをネイティブバイナリにコンパイルという微妙なコンパイル手法
3. 1, 2に引きずられているのか書いたコードが仕様通りに動かない(バグったコードがバグるんじゃなく、正しいコードがバグる
Python好きだし期待してた頃もあったけど、一向に完成度が上がらないから諦めた
大企業スポンサーがつかない新興言語はどうしようもないんだなって, Apple/IBMがついてるSwiftはまだマシ
109:デフォルトの名無しさん (ワッチョイ 8411-MZWZ)
17/07/19 16:09:56.39 wHc1xz6Y0.net
2の手法は良いと思うけどな
まぁ完成しないんじゃどうしようもないけど
110:デフォルトの名無しさん (ワッチョイ ace3-z+eH)
17/07/19 20:32:46.34 z7u2kxVf0.net
コンバートって
なんかの言語がPythonっぽい見た目だったらいいなーと思って作ったのだろうか
111:デフォルトの名無しさん (ワッチョイ 96db-XVrW)
17/07/19 20:34:41.55 ydXVL5dr0.net
ただのトランスコンパイラ
112:デフォルトの名無しさん (ササクッテロラ Sp1b-M4aJ)
17/07/21 13:51:26.30.net
一応、GCが付いてたりとランタイムに独自機能は乗ってるけどな
SwiftもObjCへのトランスコンパイラとして実装すれば良かったのかもしれないとふと思った
その程度だとApple公式PJになる意義はなかったかもだけど、今のSwiftランタイムの存在意義と比べてトントンじゃね
113:デフォルトの名無しさん (ワッチョイ 47a9-bWGY)
17/07/21 20:51:00.68 FAsYkEFy0.net
>>109
objcって中身は動的言語みたいなもんだからメッセージ呼び出しのオーバーヘッドがかなりある。
114:デフォルトの名無しさん (ワッチョイ bf6b-rqTR)
17/07/21 21:03:26.40 FKHXpg8D0.net
>>110
と思っていた時期が私にもありました
115:デフォルトの名無しさん (ササクッテロロ Sp1b-O7UX)
17/07/21 21:32:57.35 vpGxs76Rp.net
呼び出しのオーバーヘッドもなにもクラス実体があるポインタアドレスに
まるっとデータ送ってるだけだから逆にリ
116:ンカがコンパイル時に 「ここ」って指定してるのとどこがそんなに違うんですか?的な
117:デフォルトの名無しさん (スプッッ Sd7f-2SPP)
17/07/21 21:50:28.57 P8NTwIcBd.net
メッセージ式って、レシーバーが文字列解析してるとか?
118:デフォルトの名無しさん (ワッチョイ 47d1-29Ea)
17/07/21 22:25:12.37 LSoQGIGd0.net
文字列解析はランタイムだろ
119:デフォルトの名無しさん (ワッチョイ 6717-M4aJ)
17/07/21 22:30:29.43 VKToeNQS0.net
SwiftはObjCと違ってメッセージ呼び出しのダイナミックコールしないから早いんだぜって言ってたな
なお体感できるものだとは思えない
120:デフォルトの名無しさん (ワッチョイ 6717-M4aJ)
17/07/21 22:31:33.55 VKToeNQS0.net
すまん語弊があるな、ダイナミックコールしないケースがある、が正しかった
121:デフォルトの名無しさん (スッップ Sdff-dDxP)
17/07/22 15:09:54.42 /tUO2w1id.net
まあ何と言われようと、OSX、iOSをここまで発展させてきたObjective-Cの実績は事実として存在している
122:デフォルトの名無しさん (ワッチョイ 7fdb-3tmt)
17/07/22 15:18:51.98 95UuPgIe0.net
apple専用言語だから実績と言われてもピンと来ない
123:デフォルトの名無しさん (ササクッテロロ Sp1b-O7UX)
17/07/22 15:43:16.95 vEH50o2zp.net
iOSが毎年更新してるのにアホみたいに安定してる事実が
もう「あたりまえ」だと思われてるんだなぁ…
C/C++製の自分の足下の更新ペースと安定性を忘れきってるのが笑える。
124:デフォルトの名無しさん (ササクッテロラ Sp1b-3PLk)
17/07/22 15:59:40.76 WZvf35Ulp.net
Cocoa, UIKitで他の言語が使えないからなぁ
ObjCだったから発展したんじゃなく、発展に合わせてObjCが普及したのが事実よな
Swiftでないと使えないという環境がないから普及しねぇ
Carthageも流行らなかったから普及に貢献してないし
125:デフォルトの名無しさん (ワッチョイ bf6b-dDxP)
17/07/22 16:20:59.31 S//wJJE60.net
>>120
Objective-Cだから発展したというよりは、Objective-Cのままでも何ら問題がないということだろう
126:デフォルトの名無しさん (ワッチョイ 6717-M4aJ)
17/07/22 21:33:30.66 IwEFmDCG0.net
Carbon(C++)からCocoa(ObjC)に切り替えて選択肢を無くした状態でObjCをゴリ押ししたからな
Swiftのゴリ押し、足りてないよー
127:デフォルトの名無しさん (スッップ Sdff-dDxP)
17/07/22 22:47:39.39 EDEdZkbmd.net
>>122
あの時はそもそもOSが根本的に変わったけどな
128:デフォルトの名無しさん (スッップ Sdff-dDxP)
17/07/22 22:49:41.31 EDEdZkbmd.net
まあObjective-CはJobsが原点回帰(NeXT系譜)した感じだな
129:デフォルトの名無しさん (ワッチョイ 47d1-29Ea)
17/07/22 23:41:33.63 QZvpiOv/0.net
>>122
CarbonがいつC++だったのよ。Cだろ
>>123のいう根本から変わる過渡期にどうするかで出てきたCarbonなんて最初からいつか無くなる運命だし、Carbonよりも先にObjective-Cあったので切り替えでもなんでもないだろ
いつまでもOSネイティブなObjective-Cにしなかったアホが悪いでしかないのに、ゴリ押しとか基礎も結論も妄想がひどすぎ
130:デフォルトの名無しさん (ワッチョイ bf6b-dDxP)
17/07/23 00:09:20.02 +M2gaImH0.net
Swiftやってる連中はにわかが多いからしゃーない
131:デフォルトの名無しさん (ササクッテロラ Sp1b-xsFk)
17/07/23 02:37:14.48 UbY0LF7+p.net
>>118
ソニーが採用してただろ
132:デフォルトの名無しさん (ササクッテロロ Sp1b-O7UX)
17/07/23 02:58:25.19 qsgDJx91p.net
旧MacOSはそういやPascal推しだったの思い出した
133:デフォルトの名無しさん (ササクッテロラ Sp1b-3PLk)
17/07/23 07:21:28.71 m5jMFDpep.net
Pascal, C/C++を拒否してObjCに強制誘導してるじゃないか、、、
同じようにSwiftも頼むよー
134:デフォルトの名無しさん (ワッチョイ 2748-dkZs)
17/07/23 08:39:16.33 b9v3bw3F0.net
C/C++が拒否されてるなんて全く感じたこと無いけど
C/C++でバリバリ書かれてるコードにちょっとCocoa APIをObj-Cで呼び出せばプログラムが完成するって感じだと思うけど
ObjCに強制誘導って思うのは、単にMac OS XのAPIを学びたくないからじゃないの?
135:デフォルトの名無しさん (ワッチョイ 47d1-29Ea)
17/07/23 11:21:23.34 FXaeC0G60.net
強制誘導ってアホか?
Objective-CのベースだってMac OS X/OS X/macOSのバージョンアップによってC++に書き換えられてるし、CoreはCのままだし、OS X/CocoaはほぼNEXT STEPのまんまと言っていいくらい元々Objective-Cだし、IO KitはC++で書けだし
136:デフォルトの名無しさん (ワッチョイ bf6d-29Ea)
17/07/23 11:40:38.80 wBdpKyPw0.net
>>128
推しというか、Macの開発(ほんとの生み出す開発)はPascal/Assembleで作っていたんだなあというのは、どこぞの博物館で公開されたQuickDraw/MacPaintのソースでわかる
推すも何もそうだったらそうなるだろ、ドキュメントとか。だが、サード開発ではCが大多数(&CでPascal形式API呼ぶのにほぼツーカーで何も問題ない)で、Appleもそれにならうでしかないな
137:デフォルトの名無しさん (ワッチョイ 477e-48IU)
17/07/23 12:24:47.14 +emKkgEz0.net
The 2017 Top Programming Languages
URLリンク(spectrum.ieee.org)
138:デフォルトの名無しさん (ワッチョイ 477e-48IU)
17/07/23 12:29:34.74 +emKkgEz0.net
Google Search
Google Trends
GitHub
などなどを"X programming"っていうテンプレートで検索し、hits countsをrankingしたって事らしい。
139:デフォルトの名無しさん (ササクッテロラ Sp1b-M4aJ)
17/07/23 12:31:12.51 m5jMFDpep.net
>>130
ObjCをちょっと書かないとmacOS, iOSアプリが作れないように
Swiftをちょっと書かないとモノが作れないくらいのゴリ押しして欲しいなぁと
Appleは作りっぱなしで押さないし、信者はジョブズの聖遺物(ObjC)を崇めるし
Appleがゴリ押しした製品に寄生して銭稼ぎしようとbetaの頃に始めたのに悲しいよ
140:デフォルトの名無しさん (ワッチョイ bf6b-29Ea)
17/07/23 12:40:43.51 +M2gaImH0.net
世界初のWebブラウザはObjective-Cによって産み出された
まあどーでもいいけど、いまやWeb全盛の時代にそういう言語で最新のアプリが作れる環境が与えられてんだから少しくらい感慨というものを感じてもいいんじゃないの
141:デフォルトの名無しさん (ワッチョイ bf6d-29Ea)
17/07/23 12:58:28.23 wBdpKyPw0.net
元々アホかなとは思ったが, >>135ぶりからアホってもんじゃねええ。Swift好きにも迷惑だと思うぞ
142:デフォルトの名無しさん (ワッチョイ bf6d-29Ea)
17/07/23 13:19:23.25 wBdpKyPw0.net
>>130
C++を拒否というならSwiftによって/Swiftがだろうな、現在はw
macOS上のSwiftでは、まあ、Objevtive-C++でラッパー書いてそれをSwiftでだが、Linuxでぼちぼちっとじわっと使われているので、はよSwiftでC++のブリッジを(まあ、Cのインターフェースでラッパー作ればいいんだろうけど)
C++ブリッジの予定ないのかなあ
143:デフォルトの名無しさん (ササクッテロラ Sp1b-3PLk)
17/07/23 13:22:04.20 m5jMFDpep.net
つ swiftpp
144:デフォルトの名無しさん (ワッチョイ bf60-ST9I)
17/07/23 13:26:14.58 KVqGyOG90.net
Uiview.アニメーション関数を使いたいのですが、uiviewanimationoptionsの選択肢が
でてきれくれません。Youtubeを参考にしながら、optionsの部分をcurveLiniearに
したいのですが・・・cを入力しても候補が一切表示されず途方に暮れています。
どういった原因が考えられますか?助けてください。ゲーム作りたいです。
145:デフォルトの名無しさん (ワッチョイ bf6d-29Ea)
17/07/23 13:27:23.92 wBdpKyPw0.net
>>139
macOS/Objevtive-C++ありきのじゃね?
146:デフォルトの名無しさん (ブーイモ MMcf-0FYW)
17/07/23 13:49:07.88 Ach+AE6nM.net
>>127
すげー初耳なんだけど
147:デフォルトの名無しさん (フリッテル MM4f-bWGY)
17/07/23 16:19:01.64 rIJW0aWHM.net
rustのメモリ管理の仕組みが採用されたらどんだけ幸せになれんのかな。
そもそもrustごと採用してくれれば良いのに
148:デフォルトの名無しさん (ワッチョイ 7fe3-E/h9)
17/07/23 20:38:41.65 dr3Y8KYj0.net
Rust使いがあんまり幸せそうじゃない件
149:デフォルトの名無しさん (ワッチョイ 7fe3-E/h9)
17/07/23 20:39:56.87 dr3Y8KYj0.net
いやそうでもないか…
言語仕様に振り回されてはいるが大概自分に原因を帰着してる
まだ信仰心旺盛なようだ
150:デフォルトの名無しさん (ワッチョイ 7f17-PyNh)
17/07/23 21:47:12.66 jwqjM4Na0.net
Rustなんか採用されたら気が狂うわ
151:デフォルトの名無しさん (ワッチョイ 47a9-bWGY)
17/07/24 07:40:43.41 UKDzlT7I0.net
でも静的にメモリ管理を解決するって
どんだけ良いものか気になるんだよね。
どうせswift5辺りで採用されんだから、先にrustに触って先行学習してても良いかもね。
多分swiftに採用されたら下位互換性また壊れるぜ
152:デフォルトの名無しさん (ササクッテロラ Sp1b-3PLk)
17/07/24 07:47:11.93 9l5j56yyp.net
Rustの元になってるC++ std::unique_ptrをどうぞ
ObjC++でも使えるゾ
>>141
下手な風評はSwift好きに迷惑だからやめろやw
153:デフォルトの名無しさん (ワッチョイ 476c-d1J2)
17/07/24 09:18:58.69 mOlqqWbM0.net
>>139
時々見る、この「つ」ってどういう意味?
154:デフォルトの名無しさん (ワントンキン MMbf-Y5fB)
17/07/24 09:21:05.48 3yF9COr6M.net
三重の県庁所在地じゃない?
155:デフォルトの名無しさん (エムゾネ FFff-ea0C)
17/07/24 09:52:25.50 LhEoev6pF.net
>>149
「つ」は、差し出す手のイメージ
156:デフォルトの名無しさん (フリッテル MM4f-bWGY)
17/07/24 10:26:23.68 1TXRI9GxM.net
>>148
c++にはなんでもあるんだね。
でも言語仕様で縛らなくても静的にメモリ管理って可能なの?c++のプリプロセッサがすごいってこと?
157:デフォルトの名無しさん (ワッチョイ 476c-d1J2)
17/07/24 10:27:01.25 mOlqqWbM0.net
>>151
俺には「つ」が手に見えない。手のひら?手の甲?
158:デフォルトの名無しさん (ワッチョイ 476c-d1J2)
17/07/24 10:29:33.52 mOlqqWbM0.net
>>152
オブジェクトへの参照が1個、複数の別で、
unique_ptr, shared_ptrを使い分ける。
参照するだけで、所有しないweak_ptrってのもある。
要するにリファレンス・カウント式のメモリ管理なのだ。
Objective-Cの設計をC++が取り入れたのかな?
159:デフォルトの名無しさん (ワッチョイ 476c-d1J2)
17/07/24 10:30:53.63 mOlqqWbM0.net
ちなみに、俺はC++を最近全然使ってない。C++詳しい人、
unique_ptr, shared_ptr, weak_ptr
の解説、よろしこ!
160:デフォルトの名無しさん (フリッテル MM4f-bWGY)
17/07/24 10:47:25.46 1TXRI9GxM.net
>>154
ただのリファレンスカウント方式ならrustとは違うで。
161:デフォルトの名無しさん (ワッチョイ 6717-M4aJ)
17/07/24 10:49:27.16 d8RjP+270.net
逆だよ、C++のshared_ptrをObjCのARCに文法糖衣で取り込んだんだよ
>>152
unique_ptrは元々C++ boostのライブラリとして提供してたから出来るでしょ
ObjCもSwiftもそういう機能はライブラリじゃなく文法で取り込みたがるから言語更新待ちになるだけで
162:デフォルトの名無しさん (フリッテル MM4f-bWGY)
17/07/24 10:49:41.82 1TXRI9GxM.net
リファレンスカウントは全然静的に解決しているメモリ管理機構じゃない。
rustのやり方はコンパイル時に指摘してくれるけど、リファレンスカウントはけっきょく動的に解決するわけだし。
それならとっくにswiftで実現してるし。ARCだろ。
163:デフォルトの名無しさん (ワッチョイ 476c-d1J2)
17/07/24 11:07:27.25 mOlqqWbM0.net
>>157
Boost Software License - Version 1.0 - August 17th, 2003
って事は、Boostの方が歴史が古そうですなぁ。ObjCよりも。
俺、誤解してたわぁ。
164:デフォルトの名無しさん (ワッチョイ 476c-d1J2)
17/07/24 11:11:24.98 mOlqqWbM0.net
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からみたい。
165:デフォルトの名無しさん (フリッテル MM4f-bWGY)
17/07/24 12:00:46.09 1TXRI9GxM.net
rustのメモリ管理の仕組みを見てきたけどプリプロセッサで何とかなるというものじゃなかったから、
c++ならあると言うものじゃなかった。
言語仕様から改変か必要なものだったよ。
簡単に言えば、メモリの参照は一箇所に制限されて、そこからしかアクセスできないようにする。
たから、もしswiftでrustのメモリ管理機構が導入されたら、
100%既存のコードでは動かないし単純に変換もできない。
ロジックの見直しが必要だからね。
例えば配列にループアクセス中は
配列に対する変更操作はすべてコンパイルエラーになる。とか。
166:デフォルトの名無しさん (ワッチョイ df6c-HXaS)
17/07/24 12:08:11.82 kuRPbSwp0.net
いやownership manifesto読めよお前ら
全部書いてあんのに
167:デフォルトの名無しさん (ワッチョイ bf6d-29Ea)
17/07/24 14:33:26.45 wWQbQtbc0.net
>>148
URLリンク(github.com)
これじゃねえの?XcodeありきObjective-Cありきだろ?
これじゃねえ、どれやねん?
168:デフォルトの名無しさん (ワッチョイ 476c-d1J2)
17/07/24 15:17:51.01 mOlqqWbM0.net
>>161
「メモリの参照は一箇所」
まあ、そうかもしれんけど、俺の理解では参照カウントを1以上に上げない
様なメモリ管理ポリシーを実践する事で、メモリリークは防げると思う。
それから、Instrumentsとdebuggerを活用するのが吉。
最近気がついたのが、command+IでInstruments leaksを起動して捕捉出来なかったメモリリークが、不思議な事に、break pointで一旦止めてdebuggerからInstruments leaksを起動すると捕捉できるんだよねぇ。
169:デフォルトの名無しさん (ワッチョイ 5f91-lcSO)
17/07/24 22:22:24.32 QNE9e6LM0.net
>>151
マジか
俺ずっと「つ」って読んでたわ
170:デフォルトの名無しさん (ササクッテロル Sp1b-O7UX)
17/07/24 22:26:31.27 AAnKdxV0p.net
=ア 【はい】
こういうのも👉に見えてなかったとか…
171:デフォルトの名無しさん (ワッチョイ e711-E/h9)
17/07/24 22:40:40.19 Ip9wN0np0.net
>>153
つ URLリンク(i.imgur.com)
172:デフォルトの名無しさん (ワッチョイ df6c-HXaS)
17/07/24 22:52:15.68 kuRPbSwp0.net
ノシ
173:デフォルトの名無しさん (ワッチョイ e711-ea0C)
17/07/24 23:24:01.06 J5SFZDQ/0.net
>>153
手の平。
URLリンク(nanapi.com)
URLリンク(m.chiebukuro.yahoo.co.jp)
[つ]は手を表現しています。
例えば、[( ・∀・)つ旦]というAAでしたら
旦はお茶のAAですので、
お茶をハイ、と差し出している様子を表しています。
2ちゃんねるでは省略形をよく用いますので
顔文字が省略されて[つ]のみで使用されます。
>>165
まじっす!
174:デフォルトの名無しさん (ワッチョイ 6797-cAwC)
17/07/25 00:35:48.08 pCPhayDn0.net
つ⌒□
馬券、車券、くじ券をすてている
175:デフォルトの名無しさん (ワッチョイ 476c-d1J2)
17/07/25 11:28:49.52 uSdVU4/I0.net
>>170
そんな、補足説明が必要なAAなんて、不要だわぁ。
176:デフォルトの名無しさん (ササクッテロラ Sp1b-xsFk)
17/07/25 13:50:52.52 gFjyvyPjp.net
わかんねー奴の方が少数だから
177:デフォルトの名無しさん (ワッチョイ 2748-dkZs)
17/07/25 18:36:52.92 MoMVyAkE0.net
>>135
つまりは皆が出来ないうちに自分だけはSwiftを沢山書けるようになっておけば、Swiftがゴリ押しされたときに先行者利益を得られると思ったけどそうはならなかったから悲しいってことだろ?
別にAppleが推してないなんてことないと思うし、Obj-Cを崇めてる奴なんていないと思うし、Swiftはまだまだバージョンごとに変更がある割には十分普及してると思うけどな
大体Swiftをちょっと書かないと作れないぐらいのレベルだったら大してSwiftの知識もいらないと思うし銭稼ぎできるようなもんでもないと思うんだけどな
はじめにObj-C使わなきゃいけなくなったときに本1,2冊ぐらいしか買ってないし、Swiftに関してはお金まったく書けてないし、金稼ぎできる要素がある気がしない
>>138
C++をブリッジするとなるとC++の複雑な機能全てをブリッジ出来なきゃ有用性が落ちそう
限定された機能で書かれたC++コードだけブリッジしてくれるとかだと結局C++側がそれ以外の機能使ってたらラッパー書かなきゃいけなくなるし、落とし所が難しそう
178:デフォルトの名無しさん (スッップ Sdff-dDxP)
17/07/25 21:49:06.28 GBfCSeDrd.net
Swiftの完成度が最初から高ければ状況は違ったかもな
あとむだにWithout Cに走ったのは筋が悪かったと思うわ
179:デフォルトの名無しさん (ワッチョイ e711-E/h9)
17/07/25 22:11:09.32 GZGsW4rL0.net
C++ブリッジってそれもうwith C++だからな
テンプレート除けばそれなりに出来るだろうけど
テンプレート除いたC++に対応したところでだから何なのって話になるし
180:デフォルトの名無しさん (ワッチョイ bf6b-29Ea)
17/07/26 00:11:43.09 f0n9OFYu0.net
Without Cをぶち上げたんだからもうCに関わるなよ
韓国人かよ...
181:デフォルトの名無しさん (スッップ Sdff-dDxP)
17/07/26 00:29:39.23 qL2o6nlmd.net
Cライクforもインクリメント、デクリメントもなくす無駄な徹底ぶりだからな
182:デフォルトの名無しさん (ワッチョイ dfea-O7UX)
17/07/26 06:41:21.77 3wgr+b8u0.net
Pythonぽくて好きよ
183:デフォルトの名無しさん (ワッチョイ 6783-bWGY)
17/07/26 12:41:46.12 p1ZvRLSy0.net
なんかswiftどんどん構文追加して複雑になってないか?
phpみたい
184:デフォルトの名無しさん (ワッチョイ 27ed-M4aJ)
17/07/26 12:46:08.87 0VRUk0dC0.net
せめてObjCみたいって言ってくれよ
185:デフォルトの名無しさん (ブーイモ MMff-0FYW)
17/07/26 12:53:13.70 3gkHvmLyM.net
>>176
マルチプラットフォーム化に加えて
膨大なossがcやc++で書かれてるんだから無視は不可能だ。
186:デフォルトの名無しさん (ワッチョイ e711-msIr)
17/07/26 13:24:53.92 aZ/eqHae0.net
Without Cは言語仕様(構文)の話
187:デフォルトの名無しさん (ワッチョイ df0d-wITz)
17/07/26 16:59:40.71 2aPuu4440.net
むしろ、Objective-Cの「インスタンスは母体クラスに[おまえのインスタンスを作れ]命令で作成します」とか
「クラス間の通信はクラス[命令:引数]で明示的に他のクラスに実行させてるとわかります」が好きだったので
そのあたりswiftが「退化」しちゃったのが嫌。
言語仕様とクラス仕様が分離しててクラスライブラリだけ進歩してくとか
ソース内で自他の表記がしっかり別れてて「ここであいつがこれやって次…」
と読めるのが気に入ってたのに
他のグチャグチャモダン言語と同じ言語仕様変更地獄と
ソースになんだかわからない誰かが作った記号が普通に混じりますって
これ、ずっとプログラミング文化の発展阻害してた奴だ…と
188:デフォルトの名無しさん (ワッチョイ df6c-HXaS)
17/07/26 17:12:34.07 X3I7XP0c0.net
>>183
>明示的に他のクラスに実行させてるとわかります
Swiftでは分からんの?
189:デフォルトの名無しさん (ワンミングク MMbf-Y5fB)
17/07/26 17:16:43.62 jBsCP9tYM.net
>>184
いやわかるよ
190:デフォルトの名無しさん (ワッチョイ df6c-HXaS)
17/07/26 17:17:39.81 X3I7XP0c0.net
>>183
>ソース内で自他の表記がしっかり別れてて
これ何のことを言ってんの?
自他の区別がつかない言語なんてあんの?
そんな精神病みたいなプログラムあっても実行できなくね
191:デフォルトの名無しさん (ワンミングク MMbf-Y5fB)
17/07/26 17:37:22.29 jBsCP9tYM.net
多分全部staticで書いてんだろ
おそらくインスタンスとクラス、動的メッセージと静的メソッドの違いがわかってない
192:デフォルトの名無しさん (ワッチョイ 7fe3-E/h9)
17/07/26 19:04:57.26 Q9Wh0Ukp0.net
$
↑こいつ
今までの理念をぶちこわすような暴挙
itでもなんでもよかったのになんでこれにした
193:デフォルトの名無しさん (ワッチョイ 27ed-M4aJ)
17/07/26 19:22:50.49 0VRUk0dC0.net
一方俺は、ObjCの言語仕様にクラス変数が追加されて、既存フレームワークのクラスメソッドがクラス変数に変わって発狂していた
>>188
$0, $1, etc.として複数引数の場合でも引数記述を省略させるためでしょ
シェルスクリプトを書いたことないとなんぞこれってなるが、it0, it1よりはスマートだと思うが
194:デフォルトの名無しさん (スッップ Sdff-dDxP)
17/07/26 19:32:05.98 SoUQ8WPld.net
>>181
なので普通に考えるとObjective-C 3.0として改良発展させるのがよかったと思うんだよね...
195:デフォルトの名無しさん (スッップ Sdff-dDxP)
17/07/26 19:33:29.48 SoUQ8WPld.net
>>183
禿同すぎる
196:デフォルトの名無しさん (ワッチョイ 7fe3-E/h9)
17/07/26 19:44:28.65 Q9Wh0Ukp0.net
>>189
いちいち引数に名前つけさせて、
省略できるのはひとつまでって感じで今まできてたじゃん!
ここにきてこれ
itですら多少は意味があるが、$ってなに?
なんで急にドル記号が出てくんの
197:デフォルトの名無しさん (ワッチョイ e711-msIr)
17/07/26 20:10:19.84 aZ/eqHae0.net
itの方がマシというのは別に否定しないけど
「今までの理念」というのはSwiftには無くね
198:デフォルトの名無しさん (ワッチョイ df6c-HXaS)
17/07/26 21:11:05.37 X3I7XP0c0.net
俺はitより$nの方がマシだと思うけどね
「名前を省略する」ためのものに「名前をつけた気になる」ために$nをやめてitにするってかなり本末転倒じゃない
どうせ具体的な名前が無いなら、極めて曖昧なitなんて単語じゃなく、どこまでも記号的な$nでいい
敢えて単語にするならanonymousArgumentとかclosureArgumentとかにして、クロージャの名前がない引数であるという意味を表さないと
itなんて、$nと同じぐらい何も意味を表さないのに、無駄に単語の体をしてるだけタチ悪いと思うわ
逆にwillSetの引数名省略時のnewValueみたいに、最低限あらかじめ意味が限定されてるところでは、$nでもitでもなくちゃんと最低限の意味を表す省略形になってる
199:デフォルトの名無しさん (スッップ Sdff-dDxP)
17/07/26 22:07:58.73 SoUQ8WPld.net
どーでもいいけどいい加減syntaxのセンスがクソ過ぎやしないか?
200:デフォルトの名無しさん (ワッチョイ 27ed-M4aJ)
17/07/26 23:04:09.76 0VRUk0dC0.net
シンタックスのセンスなんてどーでもいいし・・・
201:デフォルトの名無しさん (ワッチョイ 7fe3-E/h9)
17/07/26 23:45:24.29 Q9Wh0Ukp0.net
本音をいうと省略させたくない
書き方増やしてどうする
202:デフォルトの名無しさん (ワッチョイ 6aea-PkaZ)
17/07/27 00:17:20.77 stgr+uVA0.net
俺も書き方のバリエーションが増えるのは反対だな。誰が書いても同じ文法で、誰が書いたコードでも誰でもさっと読めるのが理想だったな。
203:デフォルトの名無しさん (ワッチョイ afa9-8N1R)
17/07/27 00:19:52.29 YcR0VV5Q0.net
swiftでrxSwiftさわったらすごくRxがわかりやすくなったのは良い思い出。
objcだとわけわかめだった。
構文って結構学習コストに関わるんだなって理解した瞬間でした。
204:デフォルトの名無しさん (ワッチョイ 97e3-f9Oc)
17/07/27 00:21:32.40 8AwtWwUr0.net
>>198
Haskellが普及しないのは、その理想を追い求めすぎてるからだけどね
205:デフォルトの名無しさん (ワッチョイ afa9-8N1R)
17/07/27 00:27:01.52 YcR0VV5Q0.net
>>200
書き方のバリエーションの少なさでいったらgoがいい感じではないかと。
中括弧の位置すら強制するからね。
206:デフォルトの名無しさん (ワッチョイ 7b32-VhqT)
17/07/27 10:53:29.63 ck0CL7KM0.net
objCは文法に多様性がありすぎて俺には理解できなかった
207:デフォルトの名無しさん (ワッチョイ 6a0d-0tm6)
17/07/27 19:10:53.39 NhSve46F0.net
Blocks構文は「それそういうクラスじゃいかんの?Cに付け足す理由は…?」といまだに
208:デフォルトの名無しさん (ワッチョイ 0f7e-XfY8)
17/07/27 19:22:06.60 uqnl2xme0.net
>>199
ObjCにはCocoa Bindingがある。
209:デフォルトの名無しさん (ワッチョイ afa9-8N1R)
17/07/27 20:21:49.26 YcR0VV5Q0.net
>>204
双方向バインディングとRxを一緒にするない。
210:デフォルトの名無しさん (スッップ Sd8a-fvjh)
17/07/27 21:59:22.87 dY8Lj/zzd.net
>>202
メッセージ式は面食らったが、CとJavaをやってたからあんまり覚えることなかったけどなObjC
211:デフォルトの名無しさん (アウアウエー Sae2-YNlP)
17/07/28 08:50:56.18 NpsU3dCha.net
>>183
> クラス[命令:引数]
スレチ引っ張って悪いけど、ObjCにこういう記法あったっけ?
[クラス 命令:引数] とかだと思ってたのだが…
212:デフォルトの名無しさん (ワッチョイ a66b-qK7i)
17/07/29 08:59:34.62 /r3JclQn0.net
>>207
そだね
213:デフォルトの名無しさん (ブーイモ MM8a-V675)
17/07/29 13:02:57.19 arVZp8ApM.net
レベルに合わせた書き方すりゃいいじゃんよ
generics,typealias,operator overload この辺は無理して使うことない
boilerplate無くしてえなーもっとコードを直感的に書きてえなー、そもそも今までの書き方飽きたから違った書き方してえなー
という欲求が生まれた時に導入すれば良い。そうすりゃObjCとも大して見た目変わらんしな
214:デフォルトの名無しさん (ワッチョイ 0f7e-XfY8)
17/07/29 17:08:58.83 wplyINA+0.net
>>209
なるほどぉ。
ところで、Swift -> ObjCへ移行する時に、RxSwift相当のFramework
って、ReactiveCocoaって事になるのかなぁ?
215:デフォルトの名無しさん
17/08/05 14:14:44.53 dw0K286c0.net
Swift一発屋になってんじゃねえか。
ピコ太郎だってもっとまともにやってるぞ。
もっと頑張れよApple。熱くなれよ!
216:デフォルトの名無しさん
17/08/06 17:25:37.14 exhLY8Mw0.net
>>210
言っておくけど、Rxとobjcは全く相性が悪い。
なんでかというとあのobjcのメッセージ式
Rxってメソッドチェーンが無いとかなり実装しづらいのに
objcでは書けないのだよ。
[]のネスト地獄を味わう事になる
217:デフォルトの名無しさん
17/08/06 17:36:38.87 /dqOVGNEd.net
Rispも知らないんだろうなぁ..
218:デフォルトの名無しさん
17/08/06 17:37:55.69 A+R4LQxw0.net
>>212
なるほどぉ
Cocoa BindingとかCore Dataを使えって事なのね。
ところで、ObjC Wizardの方々は、Core Data使うんでしょうかねぇ?
219:デフォルトの名無しさん
17/08/06 17:49:19.26 /dqOVGNEd.net
LISP
220:デフォルトの名無しさん
17/08/06 20:13:36.95 uZylSw7t0.net
Lispのtypoかよw
そういうワードがあるのかと真面目に受け取ってた
あ、自分はvim派なんでelisp含め使ったことないわ
elisp wizardは変態だと尊敬してる
221:デフォルトの名無しさん
17/08/06 22:21:23.59 /dqOVGNEd.net
>>216
すまんw
まあメッセージ式のネスト地獄もLisp様から見ればかわいいもんですw
222:デフォルトの名無しさん
17/08/07 09:36:54.43 tO02o/C10.net
>>212
メソッド呼び出しに、ドット構文が使えればObjCも描きやすくなるよねぇ。
Objective-C 3.0に期待だね。
id a = [[NSObject alloc] init];
->id a = NSObject.alloc().init();
223: // こんな感じ!
224:デフォルトの名無しさん
17/08/07 10:15:21.88 0r/N/mwc0.net
既にクラスプロパティとオブジェクトプロパティで実現できてるね!ObjCはすごいね!
クラスプロパティの存在を知らないんだろうなぁ、ObjCについてもうちょっと勉強してこい
225:デフォルトの名無しさん
17/08/07 11:43:23.35 +uPJUr/1p.net
>>219
いや、引数あったら出来ないだろ
ところでドット構文マンセーな人ってiOSやる前は何の言語がメインの人?
226:デフォルトの名無しさん
17/08/07 12:05:53.21 tDzZ+7xU0.net
>>218
obj-cの魅力ってあくまでcの拡張でありobj-cの世界は[]の中だけってスタンスであってほしいから
ドット構文?はあんまり増やしてほしくない
個人的にはElixrのパイプ演算子(|>)をobj-cに採用して欲しい。
(元ネタはElixirじゃないかもしれないけど。)
[NSObject alloc] |> [@ init]
みたいな感じで使う。Elixirの場合だと返却値を次のメソッドの第一引数に渡すって意味だけどobj-cでは@を置き換えるみたいな感じで
227:デフォルトの名無しさん
17/08/07 16:52:39.28 nxE7L61t0.net
|> の元ネタは F#
228:デフォルトの名無しさん
17/08/07 20:27:43.12 zWbONOmMd.net
>>218
>ドット記法
既にできたような..
229:デフォルトの名無しさん
17/08/07 21:19:58.43 zWbONOmMd.net
>>223
自己レス
プロパティへのアクセスだけだた
230:デフォルトの名無しさん
17/08/07 23:19:41.66 +algoHcf0.net
最近ObjC ageが激しいがnukeとかvaporとか読んで腰が引けちゃった連中が多いのかな?
ああこれc++の再発明かなと思うくらい難解なコードになってきたからな
POPがあるからまだ扱いやすいが
231:デフォルトの名無しさん
17/08/08 23:44:13.59 Q/PbX3Ct0.net
SwiftはC++っぽくて地雷にしか見えない。
闇の軍団が好きそうな言語。
232:デフォルトの名無しさん
17/08/09 07:04:14.41 XdIT1ef80.net
Swiftアンチスレ part1
スレリンク(tech板)
>>226がアンチスレに行かずObjC ageする狂信者にしか見えない
233:デフォルトの名無しさん
17/08/09 13:10:58.09 a8XvE3390.net
Objective-Cがまぁ長年主に言語仕様を弄るんじゃなくて
外部のクラスライブラリ更新で"外"に括り出してきたタイプの問題を
2010年代になっていまさら言語仕様直接変更の繰り返しで泥沼って
そりゃ車輪の再発明ってレベルじゃねーぞっつか…
あきらかに(筋の悪い)車輪を知らないところからの使者が
「おまえら未開の蛮族にまったく新しい言語を作ってやるぜ」って
泥の中でのたうってるのを眺めてるこの感じ。
234:デフォルトの名無しさん
17/08/09 14:43:22.78 7tAKIt6Pp.net
ObjCが長年プロパティ、GC/ARC, ブロック文, nillable, ジェネリクスと言語仕様追加を繰り返して泥沼を作ってる中で
Swiftという新しい泥沼を作ってくれたから皆で泥遊びをしている中、泥遊びって子供かよ・・・と高二病な感じ
一緒に泥遊びしようぜ、やってみたら案外楽しいよ
235:デフォルトの名無しさん
17/08/09 14:56:18.93 ocU/hJiZ0.net
>>229
Objective-Cでもジェネリクス可能なのか?
どのレベルまでできる?
1. 型汎用な関数
2. 型汎用なクラス
3. 型汎用なプロトコル
4. 型汎用なプロトコル・エクステンション
236:デフォルトの名無しさん
17/08/10 00:13:58.72 9Flolen30.net
237:泥遊びで沼にはまるのは今日の全国的な運勢なのか?
238:デフォルトの名無しさん
17/08/11 11:21:49.75 1Cu8sv5r0.net
離れて分かるObjCのやかましさと優しさ
239:デフォルトの名無しさん
17/08/15 12:29:40.52 y502fzBz0.net
LattnerがGoogle Brainに就職
やっぱり人工知能やりたいんだな
240:デフォルトの名無しさん
17/08/15 12:33:22.46 y502fzBz0.net
Google BrainといったらTensorFlow開発してるところだから、これはいよいよTensorFlowがオフィシャルにSwift対応するかもしれん
241:デフォルトの名無しさん
17/08/15 13:50:50.41 DSphWfvu0.net
良かったな、お前らの教祖様の就職先見つかって。
Apple「Swift」の生みの親がテスラの自動運転開発をやめてGoogleの人工知能開発チーム入り
URLリンク(gigazine.net)
242:デフォルトの名無しさん
17/08/15 15:23:09.38 QsGXg2u5a.net
もう秋田
243:デフォルトの名無しさん
17/08/15 15:23:31.58 MDS+g102p.net
あのおっちゃん短期で技術リーダー採用してくれる所を探してたよな
来年には再転職しそう
244:デフォルトの名無しさん
17/08/15 15:27:52.81 tN8D0FqC0.net
>>235
kotlinの開発に参加しそう
245:デフォルトの名無しさん
17/08/19 04:02:37.38 H/3D3Ri60.net
Swift 5のゴールの一つに設定された非同期実行の構文の議論がevolutionメーリスで始まってる
・kicking off concurrency discussions by Ted Kremenek
URLリンク(lists.swift.org)
・async/await + actors by Chris Lattner
URLリンク(lists.swift.org)
・Concurrency in Swift: One possible approach by Chris Lattner
URLリンク(gist.github.com)
246:デフォルトの名無しさん
17/08/19 12:28:05.32 yjxWeDHXp.net
どうせまたリスケするんでしょ、、、とか思ってるけど
それとは別にラットナー のgist記事がRustのオーナーシップモデルをディスっててワロタ
Rustライクなメモリ管理をSwift4で投入するって言って結局Swift5に持ち越したのは忘れんぞ
ファーストクラスの非同期とファーストクラスのオーナーシップモデルを並走させるのはキッツイだろうがどうするんだろうね
理論的には出来なかないだろうが時間も技術力も足りずどっちかSwift6に持ち越しすることになるんじゃねーのか
247:デフォルトの名無しさん
17/08/19 12:40:33.92 H/3D3Ri60.net
オーナーシップは初めから「4には入れられないけど」「将来的に~」ってエクスキューズしてた
オーナーシップを4のゴールに含めるなんて話は一度も出てないはずだが
248:デフォルトの名無しさん
17/08/19 18:39:02.10 a8QxREVh0.net
思うんだけどrustのオーナーシップモデルって後付で入れられるものなの?
rustを見る限り無理そうだし、
スマホの性能もこれから上がっていく一方なのに学習コストが上がる
メモリオーナシップモデルって導入する意味あるのん?
249:デフォルトの名無しさん
17/08/20 00:21:00.45 we0VfWa50.net
学習コストが上がるのはそれを必要とする人だけ
というのも設計要件の一つ
URLリンク(github.com)
>Criteria for success
250:デフォルトの名無しさん
17/08/21 16:42:51.48 mGn9ABqu0.net
SwiftからObjective-CのArreyを取得しようとすると、x0756846 のような、メモリーアドレス?しかとれないのですが、何か特別な
251:変換とか必要ですか?
252:デフォルトの名無しさん
17/08/21 16:47:08.07 /ym3MI5Q0.net
>>244
詳しく
253:デフォルトの名無しさん
17/08/21 17:20:19.06 mGn9ABqu0.net
>>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に取得データがあることは確認できます。
型変換か何か必要なのでしょうか?
254:デフォルトの名無しさん
17/08/22 07:28:48.92 yXinq9w70.net
>>246
let ret = objvCMng.hogeを
let ret:Array! = objvCMng.hoge
にしてみたら?
255:デフォルトの名無しさん
17/08/22 08:07:48.74 uTo9s4E+0.net
>>247
ありがとうございます。
試しましたが、出力結果はほとんど同じでした。
[<CCandidate: 0x170226b80> , <CCandidate: 0x170226ce0>]
256:デフォルトの名無しさん
17/08/22 11:05:06.00 3GURQKJz0.net
何がみたいのかよくわからんのだが、、
dumpだとどうなる?
257:デフォルトの名無しさん
17/08/22 12:26:03.39 t4xHLqmy0.net
多分descriptionをオーバーライドしてなくてprintで<CCandidate: 0x170226b80>みたいに出力されるのと、型変換してなくて[AnyObject]?型のままになってるのの複合で混乱してるんだろう
前者はCCandidateのdescriptionを自分の望みどおりの出力をするようにオーバーライドすればいい
後者はSwift側で as? [CCandidate] するか、Obj-C側で @property (nonnull, nonatomic, copy) NSArray<__kindof CCandidate *> *hoge; とかすればいい
258:デフォルトの名無しさん
17/08/22 21:55:20.85 uTo9s4E+0.net
>>249
some: 2 elements
- <CCandidate: 0x170226b80> #0
super: NSObject
- <CCandidate: 0x170226ce0> #1
super: NSObject
となります。
まだはまってます…
259:デフォルトの名無しさん
17/08/22 22:44:59.20 XQhpAbMj0.net
何したいのかいまいちわからんな
>>250のいう通りにすればいいだけだろとしか思えない
260:デフォルトの名無しさん
17/08/22 23:00:38.58 uTo9s4E+0.net
>>250
ありがとうございます。
書き込み頂いた情報を元に、objc-cの言語仕様を調べながら触ったんですが解決せず、AnyObjectに問題を絞りこんで見ました。
結果、出力部分のコードを書き替え、データの取得が出来ました。
for i in 0..<objvCMng.candidates.count{
let ret = objvCMng.candidates[i] as AnyObject
print(ret.candidate)
}
皆様、ありがとうございました。
261:デフォルトの名無しさん
17/08/22 23:03:37.53 uTo9s4E+0.net
>>253
candidatesとhoge置き換えミスってます…
262:デフォルトの名無しさん
17/08/23 14:27:29.61 QEgHjRh50.net
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)
263:デフォルトの名無しさん
17/08/27 21:39:01.72 rI0KXWhq0.net
型推論とか何がうれしいのかさっぱりわからん
264:デフォルトの名無しさん
17/08/27 21:46:40.55 sRToL0oW0.net
長ったらしい型名ばっかのコードは思考が阻害される
型チェックはしてるんだからべつにデメリットもない
265:デフォルトの名無しさん
17/08/28 10:03:17.19 zqhpekJb0.net
ビルドに時間がかかるようになるだろ。型推論なんて使わないほうがいい
266:デフォルトの名無しさん
17/08/28 13:08:18.25 A8OmMbPi0.net
Swiftの型推論は単純だからObjCの型チェックとビルド時間は変わらないけどな
Rustくらいに賢い型推論して欲しいよ
267:デフォルトの名無しさん
17/08/28 13:53:01.33 diAyE3fu0.net
URLリンク(www.cocoawithlove.com)
268:デフォルトの名無しさん
17/08/28 14:18:27.43 A8OmMbPi0.net
その解説だと型推論じゃなく数値型がstructであることが本質の問題だよね?
let a: Double = -(1 + 2) + -(3 + 4) + -(5)
と
double a = -(1 + 2) + -(3 + 4) + -(5);
で違いが出るならそれはコンパイラ組み込み型を常用せずstruct型扱うからでしょ
プリミティブ型削って構造体型を多用するSwiftはイマドキだよな
NSIntegerみたいに32bitなのか64bitなのか分からんことになるよりは良きも悪きもあるわな
269:デフォルトの名無しさん
17/08/28 15:25:06.44 2ASNlnOhp.net
推論に任せないで型を記述した方がコードの見通しが良い気がする
270:デフォルトの名無しさん
17/08/28 16:07:09.49 zbhwRStaa.net
型を決定するために5cm以上目線の移動がある場合は型を記述したほうがいい俺ルール
271:デフォルトの名無しさん
17/08/28 18:24:28.18 TLOgdRREa.net
ジェネリクスみたいに長い同じ型を何度も書く羽目になるやつは
混ぜた方が見やすい
272:デフォルトの名無しさん
17/08/30 14:36:49.38 VdDjZJhL0.net
Swift 3移行まだしてない人いる?
うちの会社は再テスト面倒で未だに2.4使ってるんだが。
Swift 2.4 -> Swift 4で済ませようかなって思ってる。
273:デフォルトの名無しさん
17/08/30 18:51:32.33 OtY774nId.net
そもそもSwiftに移行してない(する必要がない)
274:デフォルトの名無しさん
17/08/30 20:15:16.63 thVvZo3p0.net
自分とこは業務でSwift使うの金かかりすぎると2.2の後は3にせずObjCに移行した
メンテ工数かかるし素直に実装し直しを検討した方が良いんではないかね
1.1から2.2まで商用コードをメンテした過去の自分らを褒めたい
275:デフォルトの名無しさん
17/08/30 20:18:06.98 thVvZo3p0.net
>>266
Swift使ったことないなら参考にならないから黙ってるといいよ:D
276:デフォルトの名無しさん
17/08/30 21:18:13.08 YXsmLmn70.net
移行してない=使った事が無いというのは発想が貧弱ではなかろうか
277:デフォルトの名無しさん
17/08/31 11:59:18.93 JBBnINAhH.net
func sum(i:Int, i2;Int, i3:Int) -> Int{
return i + i2 + i3
-> Intが後ろの方にあるの、変な感じがするんですよ
func Int sum(i:Int, i2;Int, i3:Int)
こうしなかったのは、どうしてですか?
278:デフォルトの名無しさん
17/08/31 13:28:27.51 BMQTj5G50.net
データの流れが左→右になってる方が自然じゃん
279:デフォルトの名無しさん
17/08/31 14:28:39.15 T53Le00sM.net
c++でも型推論が簡潔にかけるという理由で戻り値の後置構文が追加された。
その経緯をみて決めたんじゃないかな。
280:デフォルトの名無しさん
17/08/31 15:01:17.58 speSRrScH.net
そうなんですか
ありがとうございます
281:デフォルトの名無しさん
17/08/31 20:57:25.67 sd7zZNUq0.net
>>272
アレってtemplateの引数依存の戻り値を返したいからじゃなかったの?
コンパイラに型導出させてウマー、っていう
template<typename T, typename U>
auto
282:operator+(const T& t, const U& u) -> decltype(t +u) { return t + u; }
283:デフォルトの名無しさん
17/08/31 21:37:07.95 T26Psf+nF.net
>>270
C言語っぽくないことにとことんこだわったから
284:デフォルトの名無しさん
17/08/31 21:38:38.24 T26Psf+nF.net
>>270
セミコロンじゃなくてコロンだよ
引数の型の指定は
285:デフォルトの名無しさん
17/08/31 21:46:11.82 67nUNCV40.net
xcodeが使いにくいんですがjetbrains製のideでiosアプリ開発ってできるんでしょうか
286:デフォルトの名無しさん
17/08/31 22:40:30.26 wvV2BO1O0.net
>>277
じゃXamarinで
287:デフォルトの名無しさん
17/09/01 09:16:09.66 HGna/n2GM.net
何が使いにくいのか?
慣れの問題もあるの思うが
とりあえずAppCode触ってみたら?
288:デフォルトの名無しさん
17/09/10 10:24:46.29 WzSbM0WV0.net
realmはcasecade使えるようになりましたか?
289:デフォルトの名無しさん
17/09/21 14:05:19.12 lAXpPURMa.net
Swift 5の目標が確定、新たな発展プロセスを定義
URLリンク(www.infoq.com)
290:デフォルトの名無しさん
17/09/21 14:24:19.47 RYxOp7LL0.net
この言語仕様改定多すぎだろ。
C++が三年周期でやってることをこいつら一年単位でやってねえか?
291:デフォルトの名無しさん
17/09/21 19:20:52.43 A6hqPBkJ0.net
$0$1とか平気でねじこんでくるけどな
292:デフォルトの名無しさん
17/09/21 22:36:11.43 ejY1DQq00.net
xcode9で新規に画像がimageViewに表示されないんだが
xcode8で作成したものは9でも表示される。
iMacもMacBook Proも同じ現象なんだが俺だけだろうか
293:デフォルトの名無しさん
17/09/21 22:39:34.63 /Wyc4aYf0.net
どうせ画像をターゲットに入れてないとかしょうもないオチだろ
294:デフォルトの名無しさん
17/09/22 05:01:32.15 IsCSmXsD0.net
284ですが解決したので一応報告。
Xcode 9のバグでした。
画像をドラッグアンドドロップではシュミレーターで画像ファイルが
参照出来ない。
メニューから画像追加で表示されるようになりました。
295:デフォルトの名無しさん
17/09/22 05:01:48.93 +ICiQEoA0.net
>>282
Javaは今後6ヶ月ごとにバージョンアップらしいで
296:デフォルトの名無しさん
17/09/22 11:48:39.33 wHlrrV1C0.net
もうSwift対応つかれたお・・・
297:デフォルトの名無しさん
17/09/22 11:53:33.34 0fnxP+F/0.net
また来年おなじことの繰り返しやで
再来年も、その翌年もずっとやで
298:デフォルトの名無しさん
17/09/22 11:54:27.16 +ICiQEoA0.net
今回Swift対応なんて無いようなもんだろ
フレームワークやX対応のほうが大変
299:デフォルトの名無しさん
17/09/22 19:38:37.70 sEiYNNriM.net
Swift4対応のXcodeにアップグレード完了した。。
300:デフォルトの名無しさん
17/09/23 08:49:16.08 oR8sl4bu0.net
Swiftのコンパイルの遅さがやばすぎ
301:デフォルトの名無しさん
17/09/26 14:01:12.39 07+40tQg0.net
>>292
バージョンによっては速いぞ。
初期は遅かったけど。
302:デフォルトの名無しさん
17/09/28 14:03:05.30 4TDWNGRw0.net
先月Swift 3対応したばかりなのにまたSwift 4対応しなきゃならない。
Swift 2から一気にSwift 4対応したほうが良かったかな、失敗した。
303:デフォルトの名無しさん
17/09/28 14:30:25.07 GYdlOiL5d.net
>>294
昨日の会議でSwift3.1対応が残課題で有ったんだけれど、もう4になったとは言わなかった。
304:デフォルトの名無しさん
17/09/28 15:24:26.46 n5Lt93Y/0.net
Objective-Cで書いときゃメンテフリーだったのに
305:デフォルトの名無しさん
17/09/28 18:38:04.80 d0Iw5r4z0.net
だったらiOS11でこんなにアプリ消えないわなー
306:デフォルトの名無しさん
17/09/28 20:58:05.74 2fs3kw6Xp.net
開発環境の更新と言語の更新を一緒くたにするなよ
307:デフォルトの名無しさん
17/09/28 21:03:10.31 2fs3kw6Xp.net
iOS 11で脱落
308:したアプリはSDKの変更についていけなかったか費用対効果で更新をやめただけ。言語のメンテナンス性とは別の話
309:デフォルトの名無しさん
17/09/28 21:40:00.18 ZHeRPgDn0.net
実質同義なんだよなぁ
せめて費用対効果がObjC AppメンテよりSwift Appメンテの方が効率悪いと言えば良いのに
ObjCならメンテフリーとかアホなこと言うから突っ込まれる
さておき、このスレでもSwift2の頃にSwift採用したPMは死ねとPG視点で大合唱だったのに
まだSwiftを商用採用する企業いるのが悲しいのう、その頃に作ったものをメンテしてるのかもしらんが辛いな
310:デフォルトの名無しさん
17/09/29 08:30:22.14 IW2wQVQj0.net
>実質
>App
言語スレで言語の話をしてるのに勝手に条件を付加するなよ
311:デフォルトの名無しさん
17/09/29 08:45:40.29 cOq2BguT0.net
iOS11でObjC Appがメンテできなくてアプリが減ったと言う話をしてたのに何を言ってるんだ・・・
「Objective-Cで書いときゃメンテフリー」とは一体何を指しているのか
あと、ObjCの話をしたいならObjCスレかせめてSwiftアンチスレに行けよ
別にApple信者じゃないからSwiftマンセーしてるわけじゃないのにObjCを笑われたからってSwiftスレで絡むなw
312:デフォルトの名無しさん
17/09/29 15:22:03.72 YJXPiuk30.net
ObjC Appがメンテできなくて でなくて、メンテされてないアプリが消えただけじゃないの
ObjCだかrメンテできなくなったって、なに?
313:デフォルトの名無しさん
17/09/29 15:29:33.62 YJXPiuk30.net
ああ、Swiftだったら簡単(?)なのにObjCだからメンテされなくなったとでも言ってるのか??まさかだが、そう思ってるならそれはナイな
お前みたいに変なこと言い出すヤツいるから聞きたくもないObjCの話が長くなるだろうにw
314:デフォルトの名無しさん
17/09/29 17:21:31.86 Q1ij4bLL0.net
開発環境の話
・Xcodeアプデ→言語VerUp→Swiftコード要メンテ
・ObjCならメンテ不要だった
ユーザー環境/ストアの話
・iOSのVerUpでObjCもメンテが必要になる
・Swiftの方が効率悪いと言えば良い
↑
前提がズレてる
・ObjCだからメンテできなくなったって
・Swiftだったら簡単とでも
↑
対偶的な意味でズレてる
315:デフォルトの名無しさん
17/09/29 18:22:31.58 v+2E5EyQ0.net
swudt2あたりで知識が泊まってるんだけど今のswiftはどれくらい良くなった?
俺の中でoptional型の概念とか関数型の世界を見せてくれたswiftには感謝してる。
今はtypeScriptメインだけどね
316:デフォルトの名無しさん
17/10/03 05:32:06.56 0Z/dxYPK0.net
swiftは良いものだがRXとかReduxはライブラリ必要で恐ろしく書きかたが変わり危険なので個人的に好きじゃない
iOSはそもそもMVCなのでMVVMいけ
317:デフォルトの名無しさん
17/10/03 05:40:48.76 Bfzhbq/jp.net
swiftのビルドの重さで新型Macが売れてます
ReduxとかRXのおかげでiPhoneのバッテリがガンガン減ります
結局ObCのほうが良かった、とかwww
318:デフォルトの名無しさん
17/10/03 05:44:54.28 0Z/dxYPK0.net
型推論とかでビルド遅くなるなら要らないけどな
Optional型も適切にnilチェックしてれば要らない
Macとか本売りたいだけなのかな
319:デフォルトの名無しさん
17/10/03 05:53:20.06 Bfzhbq/jp.net
>ReduxとかRX
RXは書式が気持ち悪くて論外だが、Redux使うくらいならビジネスアプリはシンプルでライブラリレスなMVVMでしょ絶対に開発早いし
Appleはrxcocoa禁止したほうがいい
320:デフォルトの名無しさん
17/10/03 06:13:48.23 0Z/dxYPK0.net
xcode XくらいでAppleがMVVM的なフレームワーク出してくるかな
RXは早く死に絶えて
321:デフォルトの名無しさん
17/10/03 09:08:20.42 J3lXzdgmd.net
ライブラリレスなんていう移植無視な開発なんてやらぬ
322:デフォルトの名無しさん
17/10/03 19:58:34.43 /WY76Y0Hp.net
>>308
バッテリの減りは初耳
裏で動く処理
323:が多いから?
324:デフォルトの名無しさん
17/10/03 22:32:52.14 djTGgeKPp.net
reduxの画面の更新
325:デフォルトの名無しさん
17/10/03 22:43:47.08 djTGgeKPp.net
iOS11にしてからクソ
326:デフォルトの名無しさん
17/10/04 00:44:41.84 Gppgeajp0.net
Swift 4になってからコンパイルめっちゃ遅くね?
Xcodeが固まりそうなほどなんだけど。
327:デフォルトの名無しさん
17/10/04 01:09:33.28 V7FXDajl0.net
なんでそんなに時間がかかるのかね
構文解析がめんどい→人間にも解析がめんどい
じゃないのかと...
328:デフォルトの名無しさん
17/10/04 08:03:39.24 gQVbv4s5d.net
Swiftの読みづらさは異常
無駄なwithout Cの追及により構文解析効率が悪化してんだろ
329:デフォルトの名無しさん
17/10/04 11:34:12.56 1tM3PWaBp.net
swift+reactive なんて読めたもんじゃない
KVO地獄
330:デフォルトの名無しさん
17/10/04 20:08:07.75 1tM3PWaBp.net
型なんか自分で書くのに・・
331:デフォルトの名無しさん
17/10/04 20:44:54.90 4gPaqbyr0.net
Javaも var 変数名 = ... になるんだな
URLリンク(openjdk.java.net)
332:デフォルトの名無しさん
17/10/05 04:38:12.06 YxTMxa+70.net
varとか書くんだったらもはやvarも無くしちまえよまったく...
333:デフォルトの名無しさん
17/10/05 06:52:05.59 wZesW7ps0.net
初期化と再代入ははっきり分けられないと面倒じゃん
334:デフォルトの名無しさん
17/10/05 07:00:49.34 jqjwBcqVd.net
型推論とかいうおバカプログラマ向け仕様をやめればvarなどという間抜けなキーワードはいらないわけで
335:デフォルトの名無しさん
17/10/05 07:06:39.63 6+40pkdb0.net
いまだにJEPどまりで予定すら立ってないというのが
336:デフォルトの名無しさん
17/10/05 08:17:25.93 00L9WeAc0.net
99% varでいいよ、面倒くさいから
変わらないobjective-cの安定感がたまらん
超開発早いし
337:デフォルトの名無しさん
17/10/05 08:23:57.77 4UOAx4bZp.net
新しいこと覚えるくらいならビジネスロジックを勉強するよ
言語だのリアクティブだの状態管理だの
フルスクリーンアプリじゃユーザーに全くメリットないし
業界に踊らされているだけ
338:デフォルトの名無しさん
17/10/05 08:54:59.74 00L9WeAc0.net
しっかりobject志向で作れば読みやすいしnullはチェックすればいいだけ
swiftでif letやguard書くようにobjective-cで書けばいいじゃん
ビルド速いしobjective-cで何の不満もない
swiftでreactiveで状態管理でとか、Appleがやってない事を無理矢理・・開発難航させるだけ
339:デフォルトの名無しさん
17/10/05 20:07:42.36 6+40pkdb0.net
そのチェックが大変すぎるから問題になってるんだろうがああああ
全変数だぞ全変数
Javaのオブジェクト変数は全部NULLになりうるんだ
340:デフォルトの名無しさん
17/10/05 20:41:27.85 jcimiKk70.net
Javaだとこんなんでもアウトだしな
return a.getName().length();
341:デフォルトの名無しさん
17/10/05 21:45:45.83 Pl7oLNo/0.net
ObjCもプロパティアクセスはドット表記がモダンでnilアクセスで落ちるだろ
こんなんでアウトだ
return a.name.length;
まぁSwiftでもObjCの関数の渡ってきた変数は信用できずちょいちょい落ちるんだがな(ワロエン
342:デフォルトの名無しさん
17/10/05 22:32:47.67 DCONgPWB0.net
いや、落ちないよ。んなの、基本中の基本やん
343:デフォルトの名無しさん
17/10/05 23:03:37.57 W3Z8qYkCd.net
ただのプログラマのミスを言語のせいにする風潮
344:デフォルトの名無しさん
17/10/05 23:19:15.31 Pl7oLNo/0.net
>>333
ちょっと笑った
345:デフォルトの名無しさん
17/10/06 00:42:47.95 /80lsBeB0.net
全変数なわけないだろカスwww
346:デフォルトの名無しさん
17/10/06 00:48:43.39 nNBQ8Jr7p.net
Objective-Cはやっぱり凄いよ
347:デフォルトの名無しさん
17/10/06 00:51:42.72 /80lsBeB0.net
swiftのビルド時間がobjcの半分でもなったら使おうかな
型推論なんか時間の無駄
348:デフォルトの名無しさん
17/10/06 08:07:44.15 ELVXHTcrM.net
>>329
スレ�
349:bド間競合でいつnil化されるか分かんね、ってケースか? だったらスコープ内でローカルの強参照に放り込んでからnil判定挟めば自分のスレッドで当該スコープ内はしなないんじゃね
350:デフォルトの名無しさん
17/10/06 08:43:57.58 +D3ds82DF.net
>>336
それにはまったく同意だがスレチじゃね?
351:デフォルトの名無しさん
17/10/06 10:38:04.82 ulMDAM+Z0.net
型推論使うの止めようって言ったら、所詮中級の基地害プロマネが顔赤くしてブチキレた。
結局30人(サーバ、Android等含む)で3ヶ月掛かって作ったものは、ユーザテストで使い物にならなかった。
HumanInterfaceGuidelinesを知らないデザイナは、単なるお絵描き。
352:デフォルトの名無しさん
17/10/06 10:41:46.35 2sWAD4+90.net
使い物にならなかったのと型推論とどういう関係が?
353:デフォルトの名無しさん
17/10/06 13:45:29.26 5pSVr9SsM.net
論理的文書構成ができない>>340を部下に持つ中級プロマネかわいそう
354:デフォルトの名無しさん
17/10/06 17:03:08.49 V7ffa7dDM.net
というか、型推論使えとか使うなとか、そんな細かいことPMが言うってどんな状況だよ
プロジェクトマネジメントとなんの関係もないだろ
355:デフォルトの名無しさん
17/10/06 20:32:58.77 wgggGznB0.net
なんで型推論やめようと思ったのかが気になる
コンパイル重かったのか
へぼグラマーにありがちだが
自分がよくわかんない部分を取り除けばすべてよくなると思ったのか
356:デフォルトの名無しさん
17/10/06 20:40:20.94 oDN7+iQQd.net
型推論をやめようと言ったら切れられた
↑やめたい理由もキレられた理由も理解不能だが言っていることはわかる
何故かユーザテストで使い物にならなかった
↑ん?型推論と関係なくね…
Guideline知らないデザインナーはただのお絵かき
↑もはや何の話をしているのかわからん!
ここから推測するにPMにキレられた理由は>>340がアホだからだな
357:デフォルトの名無しさん
17/10/06 20:56:02.17 wgggGznB0.net
30人も使って3ヵ月って規模からしたら超タイトだな
完成品にこぎつけてる時点ですげーよ
携帯ってこんなもんなん?
358:デフォルトの名無しさん
17/10/06 21:05:57.43 oDN7+iQQd.net
サーバー側含めてだろ
今時三ヶ月なんて普通だろ
359:デフォルトの名無しさん
17/10/06 21:14:23.42 wgggGznB0.net
ひぇぇ
枯れた業務系で仕事してるが
知らんあいだに世の中どんなことなってんだ
360:デフォルトの名無しさん
17/10/06 22:00:52.00 FHIJEXWg0.net
マネジメント力にかかってる
人数増やすほどなおさらその人数を100%に近い稼働率で動かすのは至難の技
361:デフォルトの名無しさん
17/10/06 22:43:50.15 nuKuH1wb0.net
アプリのプログラミングは1人1画面って感じなんかね
サーバーサイドにマンパワー使ったかな
362:デフォルトの名無しさん
17/10/06 23:05:40.33 /80lsBeB0.net
swift使わなきゃまともなプログラム作れないなんて
所詮アマチュア
swiftのビルドの遅さは一体何?アホ遅いよな?
363:デフォルトの名無しさん
17/10/06 23:14:40.00 nNBQ8Jr7p.net
COBOLとかまだ現役
5000ステップくらいならコンパイル3秒www
364:デフォルトの名無しさん
17/10/06 23:18:22.67 nuKuH1wb0.net
まぁ、高性能のハードを用意しろってことだろ
365:デフォルトの名無しさん
17/10/07 08:12:23.79 s04ZU/0N0.net
Swiftは趣味で日曜プログラマが使うにはいいと思う
366:デフォルトの名無しさん
17/10/07 09:55:31.45 U1rvDJEV0.net
>>349
中小は自信過剰なアホジジイがマネジメントしてるケースが多いから困るよ
367:デフォルトの名無しさん
17/10/07 09:57:26.82 QJpqp28Yp.net
swift6あたりで可読性も兼ねて型推論は無くなるだろう。
型推論など甘え。
368:デフォルトの名無しさん
17/10/07 10:08:58.99 KI1hLy1h0.net
クラス変数や
369:メンバ変数は型が明示されてた方が可読性は高いと思うけど、一時的な変数をいちいち型宣言するのは面倒いよ
370:デフォルトの名無しさん
17/10/07 15:12:59.61 8/GtqdSW0.net
「人月の神話」まだ読んでないの
371:デフォルトの名無しさん
17/10/08 22:52:13.41 uIqMxfC90.net
めったにないけど型がついてないと
呼び出し先のメソッドの戻り値の型がこっそり変わって
それに引きずられて呼び出し出し先のメソッドが変わったんじゃないかとか
心配事が増えることがある
372:デフォルトの名無しさん
17/10/08 23:23:26.45 ZE2/usTz0.net
let someName = String(format:"User %02d", userId)
みたいなのは明らかにStringってすぐわかるから書かないようにしてるけど、
ややこしいメソッド呼んで戻り値の型がぱっとわかんなそうなやつは書くようにしてるな。
let analyzedDataMap = analyzer.analyze()
みたいなやつね。
373:デフォルトの名無しさん
17/10/08 23:59:22.72 93IJP3PA0.net
そういうケースは
なるべく右辺に型を書くようにしてる
374:デフォルトの名無しさん
17/10/09 07:53:43.84 UhJ6XiQR0.net
後でコード読む時に、型を調べようと思ったら関数まで飛んで返り値を調べないといけないからな
文字列みたいに明らかなのはいいけど、オレオレ関数の返り値を代入する場合はなるべく型宣言した方がいいかもね
375:デフォルトの名無しさん
17/10/09 09:41:59.82 4WiIHmfQ0.net
メソッドチェーンや引数に関数呼び出しを直に置くのもしないの?
同様に戻り値の型が明示されないまま流れていくけど
376:デフォルトの名無しさん
17/10/09 09:47:58.22 c41RoAYB0.net
Swiftの分際で関数型とか調子乗ってるな
377:デフォルトの名無しさん
17/10/09 11:12:47.14 7FcxW73H0.net
>>363
そういうのはもうひとつのイディオムみたいなもんだから、わざわざ変数宣言しているものに比べてなんとなく流れだけわかってればいい場合が多いと思うけど。
378:デフォルトの名無しさん
17/10/09 12:14:03.34 4WiIHmfQ0.net
>>365
変数宣言って「わざわざ」なんて言う程のことかな
同じ参照を複数回使うために変数に置くとかよくあることだと思うんだけど
こういうの前者は良くて後者のrは型明示すべきなの?
f(t.load(), kNameIndex)
↓
let r = t.load()
f(r, r.index("name"))
379:デフォルトの名無しさん
17/10/09 12:23:32.41 CFyXNixj0.net
まぁ、関数の引数は補完機能を使えば型も参照できるからそこまで拘る必要ないかなと思うけどな
引数には分かりやすいラベル使って欲しいとは思うけど
380:デフォルトの名無しさん
17/10/09 17:30:23.07 7FcxW73H0.net
>>366
文脈によるんじゃないの。メソッドで何回も使われる重要な変数が型ついてなかったら読みづらいし、局所的に2回ぐらいしか使われない変数だったらどうでもいいと思う。
型推論なんか無価値だと主張しているつもりはないので。
C++のmapのiteratorとかちゃんと型を書きたくないしさ。
381:デフォルトの名無しさん
17/10/09 22:47:50.52 KdSq7WwE0.net
可読性の向上のために型推論があるのに、コンパイラが推論可能だからといって、人間が推論することが難しい書き方はするべきではない
382:デフォルトの名無しさん
17/10/09 22:50:13.97 c41RoAYB0.net
ほんそれ
そもそも型推論なんていらん
むしろ考慮することが増えて面倒
383:デフォルトの名無しさん
17/10/09 23:44:00.27 ZTYTzUU70.net
型推論とかいう作ったやつの自己満機能
384:デフォルトの名無しさん
17/10/10 00:19:08.18 9k+Hkwgm0.net
型推論いいじゃん
コーディング量が減るし
let age: Int = calculateAge(fromBirthday: birthday)
let age = calculateAge(fromBirthday: birthday)
let name: String = nameField.text.stringByTrimmingCharactersInSet(.whitespa
385:ceCharacterSet()) let name = nameField.text.stringByTrimmingCharactersInSet(.whitespaceCharacterSet()) 紛らわしい変数名とか使わなければ型は自明なケースも多い
386:デフォルトの名無しさん
17/10/10 00:21:14.49 jM5sd94/0.net
ところでSwiftとかKotlinとか似たような言語がポコポコつくって何がしたいん
387:デフォルトの名無しさん
17/10/10 00:32:06.42 GlWhehwV0.net
微妙にちょっとずつ違うから
最終的にいいとこどりして
C#がさらに最強になる
388:デフォルトの名無しさん
17/10/10 09:50:24.55 vhDO2SQEM.net
>>372
ageをひっそり月対応にしといてやんよ
389:デフォルトの名無しさん
17/10/10 17:19:55.70 GZ/dICxTM.net
まぁ型推論が有効なのってideとの連携前提なとこあるよね。
結局この型どうやんねんって時にフォーカス合わせれば型がわかるから使えてるところはある
390:デフォルトの名無しさん
17/10/10 18:47:00.23 eiklXckra.net
いろんなソース読んでるとBaseViewみたいなの用意してストーリーボード上でそれをNavigationControllerより前に置いてるんだけどどういう風にどういう意味でなんの利点があってやってるんですか?
391:デフォルトの名無しさん
17/10/10 20:20:45.88 9k+Hkwgm0.net
そのBaseViewがソースでどういう使われ方してるのかみてみないとなんともいえんな
392:デフォルトの名無しさん
17/10/10 21:16:36.06 okVS1LPg0.net
>>377
なかなかナゾな書き方だなw
BaseViewController -> NavigationController
NavigationController -> ViewController.view.subviews[0](=BaseView)
StoryboardにはViewを単独では配置することはできない、また、単にViewControllerではなくNavigationControllerってるとこからは前者か?と推測
前者のは利点はわからんなあ、逆にあんまりNavigationControllerが必要でなくViewController -> ViewController -> ViewController ... な遷移でも書けるがNavigationController中で遷移させた方が利点があることはあるのはある
後者は(なんか別に配置して)目一杯でなくなった場合にとかだろうと推測
393:デフォルトの名無しさん
17/10/10 21:36:28.71 mEVSBT7T0.net
>>372
375でも書かれてるけど、ageって必ず年ってわけじゃないからageに関しての例は適切じゃないと思った。
FloatなのかIntなのか事前に知っておきたい場合ってのも結構多いし。
394:デフォルトの名無しさん
17/10/10 22:02:25.69 odAtKqMJd.net
>>376
そう
何に推論されてるのか推論するのが面倒なときがある
結局単にIDE依存度を高める機能
395:デフォルトの名無しさん
17/10/10 22:02:55.52 9k+Hkwgm0.net
年齢の型が浮動小数点数なわけないだろ常識的に考えて
396:デフォルトの名無しさん
17/10/10 22:59:28.27 jM5sd94/0.net
誕生日からの経過月数や日数、ひいては時間や秒まで浮動小数点の年齢として表現することにする実装もありうる
常識的っていう曖昧な前提はプログラミングではいらない
397:デフォルトの名無しさん
17/10/10 23:06:02.00 M6M4qQyh0.net
>>379
御察しの通り前者です
どういう風に使っているかと言われると、表示に関係者した共通処理?プログレスの表示などのをまとめてるっぽいんだけど画面数が多くなるとまとめたほうがいいのかな
398:デフォルトの名無しさん
17/10/10 23:28:14.76 9k+Hkwgm0.net
>>383
年齢に整数型以外を使うときは、typealiasするなり型を明示して、変数名もageにはしないわ常識的に
399:デフォルトの名無しさん
17/10/10 23:40:37.74 R4fGxZLA0.net
>>384
BaseViewControllerでググったらあった、複数。こんなん流行ってたのか
URLリンク(qiita.com)
基本否定姿勢だけどちゃんとメリットも書いてある/理解してる(?)とても良い人の意見なんじゃね?w
俺にはそれでもメリットは何も感じないけどww
400:デフォルトの名無しさん
17/10/11 00:14:13.41 sKdl4TO6
401:0.net
402:デフォルトの名無しさん
17/10/11 06:53:33.72 5yuJhWQ70.net
>>385
つまり最初から型書いとけばこんな下らん議論はいらないということだ
IDEもあるのに型を書くくらいがめんどいやつはプログラマやめちまえばいいと思う
403:デフォルトの名無しさん
17/10/11 06:57:49.22 PHAOwVfO0.net
アプリ全体のviewControllerで行う処理とか後から追加するのが面倒だから、実装なしでもbaseViewController継承しておくのがプロ
404:デフォルトの名無しさん
17/10/11 06:58:56.69 PHAOwVfO0.net
アプリ全体のviewControllerで行う処理とか後から追加するのが面倒だから、実装なしでもbaseViewController継承しておくのがプロ
405:デフォルトの名無しさん
17/10/11 07:31:38.26 3JYMgXlbp.net
Swiftのビルドの遅さと言ったらもう
406:デフォルトの名無しさん
17/10/11 08:57:59.33 xjGA/sOAd.net
大丈夫
モダンな言語を触ること自体が喜びの意識高めの方々にはまったく苦にならないから
407:デフォルトの名無しさん
17/10/11 10:29:22.28 wXVN7J6z0.net
型型抜かすんじやねぇ
408:デフォルトの名無しさん
17/10/11 11:10:15.04 nDtE4t5M0.net
>>387
書く側としたら事前に決めておきたい、だけど、読む側としたら事前に知っておきたいという感覚になるのかな、と。
あと、ライブラリを部分的に知ってるような場合に、どこで自分の知ってる型が出てくるかわかるだけでも全然読みやすさが違うとかはあるよ。
名前の付け方がよければそんなことないかもしれないが、そうでない場合、全部一個一個チェックしていかなきゃいけないわけだから。
409:デフォルトの名無しさん
17/10/11 11:51:10.61 wXVN7J6z0.net
ソースを追ってて型が明示されてないと分からなくなることってそんなあるか?
いちいち型が明示されててごちゃごちゃしてるよりすっきりしてる方が好みだけどなぁ
どうしても知りたければIDEの構文補完ですぐわかるし
コンストラクタとかは呼び出しそのものが型宣言みたいなもんやし冗長やろ
let query: NSMetadataQuery = NSMetadataQuery()
let query = NSMetadataQuery()
let fileManager: FileManager = FileManager.default
let fileManager = FileManager.default
as演算子を使う時も型は自明
let appDelegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
let appDelegate = UIApplication.shared.delegate as! AppDelegate
410:デフォルトの名無しさん
17/10/11 13:24:55.20 nDtE4t5M0.net
>>395
こういう見て明らかなのは良いと思うよ
411:デフォルトの名無しさん
17/10/11 13:37:02.94 7Q5j4kqZM.net
見て明らか(哲学)
412:デフォルトの名無しさん
17/10/11 13:51:10.92 wXVN7J6z0.net
逐一型宣言してたら、後でクラス名とか変えたくなった時に影響範囲も増えるからな
413:デフォルトの名無しさん
17/10/11 21:53:46.50 iHsyneUfM.net
>>398
それこそideがやるべきだろ。
414:デフォルトの名無しさん
17/10/12 00:23:01.42 a0zf13g60.net
おまえらみたいな意識高い系のおかげでかいしゃは消える
なぜならユーザーメリットなく
415:デフォルトの名無しさん
17/10/12 12:03:55.01 VXMT0qDgp.net
常に意識高く(=コスト高く)
皆が意識高いわけじゃないし
もうIDEが プログラム推論 で全部書けよ
416:デフォルトの名無しさん
17/10/12 12:07:58.00 1BqA9hpy0.net
そのうちAIがプログラムを書くようになる日もくるだろう
俺たちの仕事は要件定義だけ
そのうち、要件定義すらAIがやりはじめるだろう
もう俺達の仕事はなくなるね
417:デフォルトの名無しさん
17/10/12 16:00:26.14 YopnhZe80.net
そのうち=50年後とかか?
418:デフォルトの名無しさん
17/10/12 22:11:20.91 RMeyvXX8d.net
IDEがないと書けたもんじゃないモダンな言語
実に感慨深い
419:デフォルトの名無しさん
17/10/12 22:59:47.41 VJJSsqbY0.net
IDEが無くても書けるモダンな言語って一杯あるもんな
420:デフォルトの名無しさん
17/10/12 23:00:07.52 1gJjE3UDd.net
効率悪いやろ
421:デフォルトの名無しさん
17/10/13 08:36:59.82 R6m8UyoBp.net
とにかくビルド遅い、Mac全体遅くなる
swift死んで欲しい
422:デフォルトの名無しさん
17/10/13 09:01:30.41 I4FuvleI0.net
Swiftを使わないという選択肢もあるんやで
423:デフォルトの名無しさん
17/10/13 09:08:03.03 XIdp19imd.net
ない
424:デフォルトの名無しさん
17/10/13 12:52:09.23 1ukxQn240.net
昔はObjective-Cという言語があってだな。
425:デフォルトの名無しさん
17/10/14 07:56:37.27 +XwGR1nT0.net
>>408
ない
>>410
今でもある
426:デフォルトの名無しさん
17/10/14 08:12:52.64 iVQdjzuU0.net
Unity厨はSwift使ってないやろ
427:デフォルトの名無しさん
17/10/17 00:46:21.35 /DLwU+2k0.net
swiftの進化は止まらないキリ!(常に仕様変更)
428:.
17/10/17 12:15:49.74 mFTopqwd0.net
死亡確認
URLリンク(swiftrithm.com)
429:デフォルトの名無しさん
17/10/17 12:40:13.24 CwI71i8R0.net
しかし、案件がほとんどswiftだらけになってきたな
430:デフォルトの名無しさん
17/10/17 12:50:05.74 ibTYUewl0.net
Swiftの方が素人受けはいいからな
431:デフォルトの名無しさん
17/10/17 20:52:23.67 GbMA1Nomp.net
Swiftならアプリ自体は大した更新がなくてもメンテ費の上乗せが出来るな
432:デフォルトの名無しさん
17/10/18 14:36:05.54 ILFv9GYLp.net
順位 プログラミング言語 インデックス値 推移
1 Java 12.431% ↓
2 C 8.374% ↓
3 C++ 5.007% ↓
4 C# 3.858% ↓
5 Python 3.803% ↑
6 JavaScript 3.010% ↑
7 PHP 2.790% ↑
8 Visual Basic .NET 2.735% ↑
9 Assembly language 2.374% ↑
10 Ruby 2.324% ↑
11 Delphi/Object Pascal 2.180% ↑
12 Perl 1.963% ↓
13 MATLAB 1.880% ↑
14 Scratch 1.819% ↑
15 R 1.684% ↓
16 Swift 1.668% ↓
17 Objective-C 1.513% ↓
18 Visual Basic 1.420% ↓
19 PL/SQL 1.408% ↓
20 Go 1.357% ↓
433:デフォルトの名無しさん
17/10/18 14:56:23.42 T9D0pP1v0.net
何年前の順位だよ
434:デフォルトの名無しさん
17/10/18 15:12:28.66 ZA5pKZ/Z0.net
今月のTIOBEでしょ
435:デフォルトの名無しさん
17/10/18 15:47:16.32 T9D0pP1v0.net
ならそう書いとけ
436:デフォルトの名無しさん
17/10/18 17:55:25.38 9v+DEMoH0.net
逆ギレww
っていう風なのかもだがマジっぽさの方が上回る。うまいんだかなんなんだかww
437:デフォルトの名無しさん
17/10/18 18:49:21.90 or5PxEHud.net
>>418
このアセンブラって具体的にはどういう分野で使われてるのかね
438:デフォルトの名無しさん
17/10/18 19:17:25.73 9v+DEMoH0.net
そういうガチでとかいうのではないだろう。ググるくらいな人ばかりなんだから
学習とかデバッグでとか極めて一部をハンドアセンブルとかとか諸々じゃね
439:デフォルトの名無しさん
17/10/18 19:54:35.46 KP1R950Ya.net
組み込みで使われてるでしょ。
440:デフォルトの名無しさん
17/10/18 19:59:44.82 T9D0pP1v0.net
汗ブラでくいこみとかエロいな
441:デフォルトの名無しさん
17/10/18 21:02:13.26 GswCLlj60.net
>>423
チップとかファームウェアとかの組み込み系
カード会社や航空会社で使われてるTPFでもまだアセンブラ使われてる
TIOBEは用途も業界も関係ないから
長期的なトレンドの参考にはなるけど
相対的な順位を見てもほとんど意味ない
442:デフォルトの名無しさん
17/10/18 21:16:53.75 or5PxEHud.net
>>427
なるほど
確かにチップとかのなかのマイクロコードはアセンブラってのはしっくりくる
443:デフォルトの名無しさん
17/10/18 22:15:26.69 Zyh+egfX0.net
今月の順位だよ
444:デフォルトの名無しさん
17/10/18 22:20:56.91 Zyh+egfX0.net
もうswiftは死ぬな
型推論を許さないswift、speedに乗り換えるかな
445:デフォルトの名無しさん
17/10/18 22:26:48.14 ILFv9GYLp.net
全部varで全部nil許容で全く問題ない
どうせアプリなんか使い捨て
reactive?オナニーでしょ?学習コスト考えたら
objcで速攻リリース、かつ何度もも作り直�
446:オたほうがマシ