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:ChbPWtRt0327デフォルトの名無しさん (スプッッ Sdb2-YI5e)
2017/04/08(土) 11:15:21.87ID:zwbfOwFqd 知らねぇだろお前ら感がにじみ出すぎててイタい
328デフォルトの名無しさん (アウアウエー Sa8a-qYl2)
2017/04/08(土) 11:36:08.72ID:63G3fI6va なんだ知らなかったのか
1つ賢くなったな
1つ賢くなったな
329デフォルトの名無しさん (ワッチョイ fb0f-B+LC)
2017/04/08(土) 12:01:07.48ID:FmwPLc4P0 聞いてもいないのにいきなり言い出して確かにイタいな
330デフォルトの名無しさん (ササクッテロラ Sp57-8GAO)
2017/04/08(土) 12:17:13.50ID:59elDVKip 急にJavaを比較対象として出して草
ObjCと比較しろやw
ObjCと比較しろやw
331デフォルトの名無しさん (ワッチョイ fb0f-B+LC)
2017/04/08(土) 12:21:16.17ID:FmwPLc4P0 >>330
??
??
332デフォルトの名無しさん (ワッチョイ f354-TNox)
2017/04/08(土) 12:50:51.72ID:jKlH6mxl0333デフォルトの名無しさん (ワッチョイ f354-TNox)
2017/04/08(土) 12:53:01.39ID:jKlH6mxl0334デフォルトの名無しさん (ワッチョイ f73c-D6lx)
2017/04/08(土) 13:26:15.68ID:bcrLvy920 4マダァ?
335デフォルトの名無しさん (ササクッテロラ Sp57-8GAO)
2017/04/08(土) 13:33:22.85ID:59elDVKip iアプリやAndroidくらいしかやったことないと比較はJavaで適当だろうけど
動作OSとかランタイムの在り方とか言語文法の系譜とか違いすぎる
同じAppleOSで動いて、.soランタイムだけ要して、without C程度の系譜の同じ土俵で評価すべきじゃね
自分が知ってる言語って程度で比較に挙げるならC#でもGoでもRubyでもなんでもアリだからw
動作OSとかランタイムの在り方とか言語文法の系譜とか違いすぎる
同じAppleOSで動いて、.soランタイムだけ要して、without C程度の系譜の同じ土俵で評価すべきじゃね
自分が知ってる言語って程度で比較に挙げるならC#でもGoでもRubyでもなんでもアリだからw
336デフォルトの名無しさん (ワッチョイ f73c-D6lx)
2017/04/08(土) 14:39:02.66ID:bcrLvy920 非ASCII識別子のネタなんて何の言語引き合いに出しても別に問題ないっしょ
337デフォルトの名無しさん (ワッチョイ 32f3-qYl2)
2017/04/08(土) 16:52:22.92ID:EanGPAz+0 おっπ
338デフォルトの名無しさん (ワッチョイ fb0f-B+LC)
2017/04/08(土) 17:04:27.68ID:FmwPLc4P0 はい
339デフォルトの名無しさん (ワッチョイ 32f3-qYl2)
2017/04/09(日) 16:19:12.39ID:dBjEGHWC0 揉ませろ
340デフォルトの名無しさん (ワッチョイ 1f3c-xLT8)
2017/04/13(木) 16:26:07.95ID:P0VwbMdt0 メモリー管理方式取り入れるってニュース見かけたんだけど
Swiftまた互換性無くなるんか?
Swiftまた互換性無くなるんか?
341デフォルトの名無しさん (ササクッテロラ Sp6f-+fOQ)
2017/04/13(木) 16:43:28.23ID:0o/hjfdWp342デフォルトの名無しさん (アウアウオー Sabf-vZSP)
2017/04/13(木) 16:50:05.36ID:JlstuCPca 「タイム互換」短すぎやでほんま
タイム互換いいたいだけやけどな
タイム互換いいたいだけやけどな
343デフォルトの名無しさん (アウアウエー Sabf-vZSP)
2017/04/13(木) 16:58:45.96ID:Z4M4iBLva _ __
/ \ / \
/ \ / \
/ / ̄ ̄\ \ / / ̄ ̄ ̄\__\
// ̄ / ̄| ̄ | ̄`くヽ__/> | \
 ̄ `ー'`ー'`ー'/刧凵R  ̄ ̄
| | / 、/⌒ヽ,ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | 〇 O) | < ブタモ オダテリャ キニノボル。。。
| __|_> ̄ ̄ ̄く \___________
| (___ノ |
| __|_|_ /e
| (___ノ、___/
| |
| |
| |
| |
| |
| |
/ \ / \
/ \ / \
/ / ̄ ̄\ \ / / ̄ ̄ ̄\__\
// ̄ / ̄| ̄ | ̄`くヽ__/> | \
 ̄ `ー'`ー'`ー'/刧凵R  ̄ ̄
| | / 、/⌒ヽ,ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | 〇 O) | < ブタモ オダテリャ キニノボル。。。
| __|_> ̄ ̄ ̄く \___________
| (___ノ |
| __|_|_ /e
| (___ノ、___/
| |
| |
| |
| |
| |
| |
344デフォルトの名無しさん (ワッチョイ 1f3c-xLT8)
2017/04/13(木) 17:49:06.53ID:P0VwbMdt0 見つけた。つい最近のやつ
swiftメモリオーナシップのマニフェストが公開
https://www.infoq.com/jp/news/2017/04/swift-memory-ownership-model
swiftメモリオーナシップのマニフェストが公開
https://www.infoq.com/jp/news/2017/04/swift-memory-ownership-model
345デフォルトの名無しさん (アウアウエー Sabf-vZSP)
2017/04/13(木) 17:53:40.70ID:Z4M4iBLva オナニストに空目した
346デフォルトの名無しさん (ワッチョイ 1ff3-vZSP)
2017/04/13(木) 18:33:03.91ID:WsZTJ2Pb0 またInfoQは2ヶ月前の話を今更ニュースにして
今日の本当の界隈ニュースはABI Dashboardがやっと公開されたこと
今日の本当の界隈ニュースはABI Dashboardがやっと公開されたこと
347デフォルトの名無しさん (ワッチョイ 5b54-axuq)
2017/04/13(木) 20:46:27.09ID:gaxJh+J40348デフォルトの名無しさん (ササクッテロラ Sp6f-+fOQ)
2017/04/13(木) 21:43:29.30ID:0o/hjfdWp 結局、C++11 unique_ptrの文法ラップなのかな
ObjCでも使えるなら使いたいから頼むよー
ObjCでも使えるなら使いたいから頼むよー
349デフォルトの名無しさん (ワッチョイ 4b3c-HE/W)
2017/04/14(金) 00:10:47.26ID:CJipXrOe0 Rust inspiredとのことだからunique_ptrなんてレベルじゃない
ライフタイムかそれに類するものを導入する気だろう
ライフタイムかそれに類するものを導入する気だろう
350デフォルトの名無しさん (ワッチョイ 1f3c-xLT8)
2017/04/17(月) 11:21:13.44ID:rZd85UOy0 Swift4で何がかわりそうなのか
ttp://qiita.com/d_date/items/b3562f542afc306791ce
ttp://qiita.com/d_date/items/b3562f542afc306791ce
351デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/17(月) 11:34:40.27ID:H6wmE3lW0 SE-0110
Swift3.1
let fn1: (Int, Int) -> Void = { x in
// some procedure
}
Swift4
let fn1: ((Int, Int)) -> Void = { x in
// some procedure
}
Intを要素とするtupleを引数に取るclosureの記述方法が、変わるらしい。
(Int, Int)型引数は、((Int, Int))としてx.0, x.1って感じでアクセスする。ってこった。
Swift3.1
let fn1: (Int, Int) -> Void = { x in
// some procedure
}
Swift4
let fn1: ((Int, Int)) -> Void = { x in
// some procedure
}
Intを要素とするtupleを引数に取るclosureの記述方法が、変わるらしい。
(Int, Int)型引数は、((Int, Int))としてx.0, x.1って感じでアクセスする。ってこった。
352デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/17(月) 11:41:37.59ID:H6wmE3lW0 func curry<A, B, C>(_ f: @escaping (A, B) -> C) -> (A) -> (B) -> C {
return { x in
{ y in f(x, y) }
}
}
この関数の読み方が判らん!
戻り値が
(A) -> (B) -> C
って事は、
1. A型の引数を受け取り、(B) -> Cなるclosureを返すclosureが戻り値
2. (A) -> (B)なるclosureを受け取りC型を返すclosureが戻り値
どっちだ?
return { x in
{ y in f(x, y) }
}
}
この関数の読み方が判らん!
戻り値が
(A) -> (B) -> C
って事は、
1. A型の引数を受け取り、(B) -> Cなるclosureを返すclosureが戻り値
2. (A) -> (B)なるclosureを受け取りC型を返すclosureが戻り値
どっちだ?
353デフォルトの名無しさん (スプッッ Sd3f-IVUN)
2017/04/17(月) 12:20:26.64ID:vkFfzl9Jd354デフォルトの名無しさん (ワッチョイ fbf9-kKgC)
2017/04/17(月) 16:19:08.73ID:3GD20cJp0 >>352
1の方だね
1の方だね
355デフォルトの名無しさん (ワッチョイ eb92-D+C1)
2017/04/17(月) 17:25:42.88ID:D/VW2xRY0 もういい加減にしてほしいな
言語ヲタが「ボクチンが考えた最高の言語」遊びしてるようにしか見えない
言語ヲタが「ボクチンが考えた最高の言語」遊びしてるようにしか見えない
356デフォルトの名無しさん (ワッチョイ 1ff3-vZSP)
2017/04/17(月) 18:59:19.87ID:nd1F7ywi0 批判なら具体的に
でなければアンチスレへ
でなければアンチスレへ
357デフォルトの名無しさん (アウアウオー Sabf-vZSP)
2017/04/17(月) 19:03:02.31ID:kDXw+CZ7a ->が出てきたらその時点で->より前が引数、->より後ろが戻り値
358デフォルトの名無しさん (ワッチョイ 5b54-axuq)
2017/04/17(月) 20:39:28.09ID:oD+wMWyY0359デフォルトの名無しさん (ワッチョイ 5b54-axuq)
2017/04/17(月) 20:40:25.07ID:oD+wMWyY0360デフォルトの名無しさん (アウアウウー Saaf-vZSP)
2017/04/17(月) 20:46:01.79ID:lXU86btga ヒマなんですね
361デフォルトの名無しさん (エムゾネ FF3f-IVUN)
2017/04/17(月) 21:24:11.38ID:6RZC9xguF >>354
まあ、curry化ってそういうものだしね
まあ、curry化ってそういうものだしね
362デフォルトの名無しさん (アウアウウー Saaf-vZSP)
2017/04/17(月) 21:25:12.82ID:lXU86btga インド人もびっくりだよね
363デフォルトの名無しさん (ワッチョイ 4b3c-5IwN)
2017/04/17(月) 22:47:26.87ID:+gxNPbQK0364デフォルトの名無しさん (ワッチョイ 3b0f-n2Cn)
2017/04/17(月) 23:10:09.48ID:/M+7HM4c0 >>350
いいからさっさと++、--、for(;;)を復活させろ
いいからさっさと++、--、for(;;)を復活させろ
365デフォルトの名無しさん (ワッチョイ 3b0f-n2Cn)
2017/04/17(月) 23:10:51.44ID:/M+7HM4c0366デフォルトの名無しさん (ササクッテロラ Sp6f-+fOQ)
2017/04/18(火) 00:02:25.56ID:xQgWcwpBp >>355は4で破壊変更あることを今更知ったnewbieじゃないかな
破壊しないswiftなんてswiftじゃないと思って使ってるけど、3で安定したと思っちゃった子はそこそこいそう
破壊しないswiftなんてswiftじゃないと思って使ってるけど、3で安定したと思っちゃった子はそこそこいそう
367デフォルトの名無しさん (ワッチョイ 3b0f-bNqD)
2017/04/18(火) 00:31:05.68ID:nxzSbT3m0 >>355
こんなぶれぶれの独善言語についてってる奴の気が知れんわ
こんなぶれぶれの独善言語についてってる奴の気が知れんわ
368デフォルトの名無しさん (アウアウウー Saaf-vZSP)
2017/04/18(火) 00:36:29.63ID:84Yej/faa そんな言語のスレをヲチしてるお前もなー
369デフォルトの名無しさん (ワッチョイ fbf9-kKgC)
2017/04/18(火) 10:13:46.23ID:GdlQD+8N0 型表記中の「->」は右結合ってことでいいんだよね?
370デフォルトの名無しさん (ワッチョイ 1ff3-vZSP)
2017/04/18(火) 12:14:40.44ID:Q87oUFLG0 https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Types.html#//apple_ref/swift/grammar/function-type
If a function type includes more than a single arrow (->), the function types are grouped from right to left.
For example, the function type (Int) -> (Int) -> Int is understood as (Int) -> ((Int) -> Int)
―that is, a function that takes an Int and returns another function that takes and returns an Int.
引数は必ず()で囲まないといけないから、もし ((Int) -> (Int)) -> Int なら前半の()が必須
そういう意味でも (Int) -> ((Int) -> Int) としか解釈できない
If a function type includes more than a single arrow (->), the function types are grouped from right to left.
For example, the function type (Int) -> (Int) -> Int is understood as (Int) -> ((Int) -> Int)
―that is, a function that takes an Int and returns another function that takes and returns an Int.
引数は必ず()で囲まないといけないから、もし ((Int) -> (Int)) -> Int なら前半の()が必須
そういう意味でも (Int) -> ((Int) -> Int) としか解釈できない
371デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/18(火) 12:45:37.54ID:3Ay0w4VK0 >>370
THX
原則は、
1. 引数は()で囲む。囲まないと、error: require parentheses
2. 右から左方向へグループ化
例:
(S) -> (T) -> (U)
は
(S) -> ((T) -> (U))
と解釈される。
THX
原則は、
1. 引数は()で囲む。囲まないと、error: require parentheses
2. 右から左方向へグループ化
例:
(S) -> (T) -> (U)
は
(S) -> ((T) -> (U))
と解釈される。
372デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/18(火) 12:47:38.45ID:3Ay0w4VK0 Reactive.itemsメソッドがこんな感じ
public func items<S: Sequence, Cell: UICollectionViewCell, O : ObservableType>
(cellIdentifier: String, cellType: Cell.Type = Cell.self)
-> (_ source: O)
-> (_ configureCell: @escaping (Int, S.Iterator.Element, Cell) -> Void)
-> Disposable where O.E == S {
以下略
public func items<S: Sequence, Cell: UICollectionViewCell, O : ObservableType>
(cellIdentifier: String, cellType: Cell.Type = Cell.self)
-> (_ source: O)
-> (_ configureCell: @escaping (Int, S.Iterator.Element, Cell) -> Void)
-> Disposable where O.E == S {
以下略
373デフォルトの名無しさん (ササクッテロラ Sp6f-+fOQ)
2017/04/18(火) 13:01:42.04ID:XspPM/3op 右から左方向が優先度高いのか
左から右に流してるイメージで逆方向のがしっくりくるが
関数型の思想としてそういうものだっけかな
左から右に流してるイメージで逆方向のがしっくりくるが
関数型の思想としてそういうものだっけかな
374デフォルトの名無しさん (アウアウウー Saaf-vZSP)
2017/04/18(火) 13:28:19.45ID:AUE9Rrcca 俺は若干右曲がり
375デフォルトの名無しさん (スプッッ Sd3f-bNqD)
2017/04/18(火) 20:55:52.53ID:L5MP9LYsd 可読性の高いSwift()
376デフォルトの名無しさん (ワッチョイ 1f3c-xLT8)
2017/04/18(火) 21:25:36.15ID:dlRGmA3w0377デフォルトの名無しさん (ササクッテロロ Sp6f-vZSP)
2017/04/18(火) 22:03:34.33ID:Cbc6ZCQLp Ojb-C使ってても毎年のようにAPIレベルでDeprecatedが量産されるから
Obj-Cなら変更コストが低いってわけでもない
Obj-Cなら変更コストが低いってわけでもない
378デフォルトの名無しさん (スプッッ Sd3f-IVUN)
2017/04/19(水) 10:54:38.73ID:aMVSfr6md379デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/19(水) 11:22:12.10ID:2o4P71X40 >>378
let fn1: ((Int, Int)) -> Void = { x in
print(x.0 + x.1)
}
fn1((1,2)) // => 3
//fn1(1,2) // error: extra argument、引数が多すぎ!
let fn1: ((Int, Int)) -> Void = { x in
print(x.0 + x.1)
}
fn1((1,2)) // => 3
//fn1(1,2) // error: extra argument、引数が多すぎ!
380デフォルトの名無しさん (スプッッ Sd3f-IVUN)
2017/04/19(水) 12:18:48.30ID:aMVSfr6md >>379
ということは、元々括弧を省略した書き方をしなければ問題ないわけね
ということは、元々括弧を省略した書き方をしなければ問題ないわけね
381デフォルトの名無しさん (スプッッ Sd3f-bNqD)
2017/04/19(水) 20:19:15.30ID:Vhy+qJiMd Swiftの関数の書き方に近いシンタックスの言語ってある?
382デフォルトの名無しさん (ワッチョイ 1ff3-vZSP)
2017/04/19(水) 22:12:07.64ID:RnslI5DB0 たくさんある
383デフォルトの名無しさん (アウアウエー Sa82-p2Ky)
2017/04/20(木) 14:01:17.17ID:sKYAHXfOa たくさんあるかは分からんけど、Rustは比較的似てる気がする
Go とか Kotlin辺りもちょっと似てるかな
Go とか Kotlin辺りもちょっと似てるかな
384デフォルトの名無しさん (ササクッテロラ Sp23-G776)
2017/04/20(木) 14:07:23.48ID:Vb04xDKlp Java8も近い気がする
385デフォルトの名無しさん (ワッチョイ 4af3-p2Ky)
2017/04/20(木) 17:04:27.86ID:VpJy20l50 String再実装の第一弾と複数行文字列リテラルがレビュー通った
386デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/21(金) 08:24:24.47ID:ZBCs1arm0387デフォルトの名無しさん (ワッチョイ 4af3-p2Ky)
2017/04/21(金) 12:37:01.73ID:PVM41qEx0 let json = """
{
"lang": "Swift"
}
""""
json == "{¥n ¥"lang¥": ¥"Swift¥"¥n}"
閉じ"""の行と同じインデントが自動的に削除される(行頭が閉じ"""に揃う)
便利
{
"lang": "Swift"
}
""""
json == "{¥n ¥"lang¥": ¥"Swift¥"¥n}"
閉じ"""の行と同じインデントが自動的に削除される(行頭が閉じ"""に揃う)
便利
388デフォルトの名無しさん (ササクッテロラ Sp23-p2Ky)
2017/04/21(金) 12:49:25.47ID:z0f2AZORp 発展途上の言語はどんどん便利になるからいいね
389デフォルトの名無しさん (ワッチョイ 7f54-ddVw)
2017/04/22(土) 08:43:07.39ID:kAxmCg/50 >>387
詳しく!
詳しく!
390デフォルトの名無しさん (ワッチョイ de92-UbXF)
2017/04/22(土) 15:30:44.86ID:z7G2zYcp0 こんなものが今頃入るとか発展途上すぎるんだよ
391デフォルトの名無しさん (アウアウエー Sa82-p2Ky)
2017/04/22(土) 15:35:08.08ID:PgVA7Plza Javaにはないけどな
Swiftのはインデントまで考慮されて洗練されてるし
Swiftのはインデントまで考慮されて洗練されてるし
392デフォルトの名無しさん (ワッチョイ de92-UbXF)
2017/04/22(土) 15:42:53.58ID:z7G2zYcp0 インデント考慮って逆に分かりづらくなるような気が。。。
Optionalもそうだと思うけどSwiftって一見便利そうに見えて却って面倒くさくなってる要素が多いと思う
Optionalもそうだと思うけどSwiftって一見便利そうに見えて却って面倒くさくなってる要素が多いと思う
393デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/22(土) 15:58:34.23ID:kAxmCg/50 >>392
あんまり、ルールが多くなると、C++みたく、不人気になるんだよねぇ。
あんまり、ルールが多くなると、C++みたく、不人気になるんだよねぇ。
394デフォルトの名無しさん (ササクッテロリ Sp23-G776)
2017/04/23(日) 12:04:02.69ID:OKIxwLfDp395デフォルトの名無しさん (ワッチョイ 8a3c-06LW)
2017/04/23(日) 13:12:37.68ID:PRvAU6qE0 >>393
今のSwiftも十分ルール多いと思うぞ
今のSwiftも十分ルール多いと思うぞ
396デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/23(日) 13:18:16.81ID:16+ithPZ0397デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/23(日) 13:20:20.98ID:16+ithPZ0 >>394
破壊的変更だけど、事前通告もあるし。。。will be depreridated. warningとか。
納得できる変更だし、改善方向に向かってるのでOK。
改悪とか、こんな機能、だれも使わんぜぇ。ってのが無いのでoK.
Windows 10の3D Paint Brush機能って必要か?
破壊的変更だけど、事前通告もあるし。。。will be depreridated. warningとか。
納得できる変更だし、改善方向に向かってるのでOK。
改悪とか、こんな機能、だれも使わんぜぇ。ってのが無いのでoK.
Windows 10の3D Paint Brush機能って必要か?
398デフォルトの名無しさん (ワッチョイ 270f-SXGp)
2017/04/23(日) 13:52:00.91ID:HtOZeUof0 Swiftって読みにくすぎ
ObjC 3.0でいいわまじで
政治的に生まれた言語はどこかで無理が生じる
ObjC 3.0でいいわまじで
政治的に生まれた言語はどこかで無理が生じる
399デフォルトの名無しさん (ワッチョイ 533c-p2Ky)
2017/04/23(日) 22:20:07.29ID:d5pkzuTb0 ObjCの方が読みづらいわ
読みづらいというより書きづらい…かな
読みづらいというより書きづらい…かな
400デフォルトの名無しさん (スプッッ Sd4a-mqxQ)
2017/04/24(月) 09:18:14.98ID:OVGIDxevd >>399
禿同
禿同
401デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/24(月) 09:47:25.07ID:Et0GUfRD0 ObjC-2.1っての出してくれないかなぁ。
Swift2.x -> 3.xへの破壊的変更をObj-Cへも適用して欲しい。
たくさんあるinitializerをinit(xxx:)にまとめるとか、Foundation, AppKitにあるClassのメソッド名を洗練させるとか。
Foundation, AppKitって1980年代の設計のままだから、あの長いメソッド名を
ちょっとだけ短くするだけで、まだまだObj-Cは延命できそうな気がする。
Swift3.x見たく、メソッド名の短縮化をObj-Cへcome on!
Swift2.x -> 3.xへの破壊的変更をObj-Cへも適用して欲しい。
たくさんあるinitializerをinit(xxx:)にまとめるとか、Foundation, AppKitにあるClassのメソッド名を洗練させるとか。
Foundation, AppKitって1980年代の設計のままだから、あの長いメソッド名を
ちょっとだけ短くするだけで、まだまだObj-Cは延命できそうな気がする。
Swift3.x見たく、メソッド名の短縮化をObj-Cへcome on!
402デフォルトの名無しさん (スプッッ Sd4a-skpP)
2017/04/24(月) 09:52:31.43ID:mLc1nANzd >>401
解ってないなあ。
解ってないなあ。
403デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/24(月) 10:00:22.08ID:Et0GUfRD0 >>402
詳しく!
詳しく!
404デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/24(月) 10:02:56.87ID:Et0GUfRD0 Obj-C開発コミュニティーは崩壊しており、いまさらObj-Cのupgradeは難しいって事でしょうか?
だから、Swiftの開発が始まったって事でしょうか?
Obj-Cってコンパイル早くていい感じ何ですけど。Xcodeもサクサク動くし。
SwiftのせいでMacbook Pro15買わなくなっちゃいましたヨォ。俺は!
だから、Swiftの開発が始まったって事でしょうか?
Obj-Cってコンパイル早くていい感じ何ですけど。Xcodeもサクサク動くし。
SwiftのせいでMacbook Pro15買わなくなっちゃいましたヨォ。俺は!
405デフォルトの名無しさん (スプッッ Sd4a-mqxQ)
2017/04/24(月) 10:15:52.44ID:PIzQilqTd 買ったのならもういいじゃん
406デフォルトの名無しさん (スプッッ Sd4a-skpP)
2017/04/24(月) 11:07:05.55ID:mLc1nANzd407デフォルトの名無しさん (スプッッ Sd4a-a9+m)
2017/04/24(月) 12:02:48.74ID:SvpXvUmYd >>399
書くのがめんどくさいってのはある
書くのがめんどくさいってのはある
408デフォルトの名無しさん (スップ Sd4a-SXGp)
2017/04/24(月) 21:16:37.16ID:P6Dtc6ePd 単純に文の長さが短いだけで読みにくいのは高級言語としては微妙だな
409デフォルトの名無しさん (ワッチョイ 8ad4-a9+m)
2017/04/24(月) 22:06:57.16ID:hcHY62kZ0 「!」は最初見たときは分かりづらいと思ったが、慣れると危険な部分が分かりやすくて良いなと思ってる
410デフォルトの名無しさん (アウアウエー Sa82-p2Ky)
2017/04/24(月) 22:16:59.71ID:o8gY9V3aa !?
411デフォルトの名無しさん (ワッチョイ bb1f-vPNP)
2017/04/25(火) 08:29:23.45ID:O6rTDgi/0 プログラミング初心者なんですが、 delegateの概念がよく分かりません。
プロトコルは実装しないといけないメソッドとかをまとめるもの?という認識ですが。
開発チュートリアルやってると、なんの説明も無しにいきなりdelegateは何とかを他のクラスに委任できるなんちゃらとか、
説明が意味不明過ぎて詰みました
だれかわかりやすく説明できる方いますか?
わかりやすいサイトでもいいです
英語サイトやYouTubeでもいいです
プロトコルは実装しないといけないメソッドとかをまとめるもの?という認識ですが。
開発チュートリアルやってると、なんの説明も無しにいきなりdelegateは何とかを他のクラスに委任できるなんちゃらとか、
説明が意味不明過ぎて詰みました
だれかわかりやすく説明できる方いますか?
わかりやすいサイトでもいいです
英語サイトやYouTubeでもいいです
412デフォルトの名無しさん (スプッッ Sd33-a9+m)
2017/04/25(火) 08:33:44.54ID:DixYtrACd >>411
スレチ
スレチ
413デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/25(火) 08:43:07.85ID:uqhlwSBc0 >>411
スレチ、とかってのは無視してOKっすからね。
あとdelegateパターン、delegateメソッド、delegate変数って言葉を使える様に
ならないとね。
delegateの概念ってのは、「クラスに委任」とかっていうのは単なる辞書を引いた
だけの説明なのでこれも無視です。
delegateパターンってのは2つのクラス、1つのプロトコルを使ったパターンです。
あまりにも、当たり前に使われるので、説明無しにdelegateパターンって出てきます。
この記事が参考になるんちゃいまっしゃろか?
UIKit類似Frameworkを自作してみる
http://qiita.com/externvoid@github/items/c70ce09aea758a548b22
スレチ、とかってのは無視してOKっすからね。
あとdelegateパターン、delegateメソッド、delegate変数って言葉を使える様に
ならないとね。
delegateの概念ってのは、「クラスに委任」とかっていうのは単なる辞書を引いた
だけの説明なのでこれも無視です。
delegateパターンってのは2つのクラス、1つのプロトコルを使ったパターンです。
あまりにも、当たり前に使われるので、説明無しにdelegateパターンって出てきます。
この記事が参考になるんちゃいまっしゃろか?
UIKit類似Frameworkを自作してみる
http://qiita.com/externvoid@github/items/c70ce09aea758a548b22
414デフォルトの名無しさん (アウアウカー Saeb-Xafy)
2017/04/25(火) 09:52:21.41ID:o+aECIKxa デリゲートってのはなぁ・・おっと、後は>>145頼む
415デフォルトの名無しさん (アウアウカー Saeb-Xafy)
2017/04/25(火) 09:58:28.39ID:o+aECIKxa あぁ、デリゲート先間違えた。>>416頼む
416デフォルトの名無しさん (スプッッ Sd33-a9+m)
2017/04/25(火) 10:39:09.75ID:DixYtrACd >>413
スレチはスレチ
swiftに関係ないし初心者質問スレでもないので質問者の想定レベルが不明
しかも>>413はdelegateの説明をしていない
あと紹介するなら、こっちじゃないの?
http://qiita.com/mochizukikotaro/items/a5bc60d92aa2d6fe52ca
iOSに限定したdelegateへの質問なら、こっちの方が答えがあると思う
[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://egg.2ch.net/test/read.cgi/mac/1484217623/
スレチはスレチ
swiftに関係ないし初心者質問スレでもないので質問者の想定レベルが不明
しかも>>413はdelegateの説明をしていない
あと紹介するなら、こっちじゃないの?
http://qiita.com/mochizukikotaro/items/a5bc60d92aa2d6fe52ca
iOSに限定したdelegateへの質問なら、こっちの方が答えがあると思う
[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://egg.2ch.net/test/read.cgi/mac/1484217623/
417デフォルトの名無しさん (ワッチョイ 4af3-p2Ky)
2017/04/25(火) 10:58:46.24ID:3wBLGJN/0 片側Rangeが通った
a[..<i] とか a[...i] とか a[i...] ってデフォで書ける
a[..<i] とか a[...i] とか a[i...] ってデフォで書ける
418デフォルトの名無しさん (ササクッテロラ Sp23-G776)
2017/04/25(火) 11:06:07.97ID:3fSgT78Np 今までデフォじゃなければ書けたの?
ユーザが拡張可能なコンパイラプラグインIFってswiftにあったっけかな
ユーザが拡張可能なコンパイラプラグインIFってswiftにあったっけかな
419デフォルトの名無しさん (スプッッ Sd33-a9+m)
2017/04/25(火) 11:23:22.00ID:DixYtrACd a.prefix(i) // a[..<i]
a.dropFirst(i) // a[i..]
と、手で書き換えるとか?
a.dropFirst(i) // a[i..]
と、手で書き換えるとか?
420デフォルトの名無しさん (スップ Sdaa-skpP)
2017/04/25(火) 12:09:00.58ID:uC0QdnUhd421デフォルトの名無しさん (ワッチョイ 4af3-p2Ky)
2017/04/25(火) 12:18:09.30ID:3wBLGJN/0 prefix operator ..<
prefix operator ...
postfix operator ...
を定義するだけ
SE-172のDetailed design真似して3.1で書いてみた
http://swift.sandbox.bluemix.net/#/repl/58febd1c8ef5d90dc580fb9b
まだSE-148のジェネリックなsubscriptがないから、ちょっとコードの重複ができてしまった
prefix operator ...
postfix operator ...
を定義するだけ
SE-172のDetailed design真似して3.1で書いてみた
http://swift.sandbox.bluemix.net/#/repl/58febd1c8ef5d90dc580fb9b
まだSE-148のジェネリックなsubscriptがないから、ちょっとコードの重複ができてしまった
422デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/25(火) 12:45:51.70ID:uqhlwSBc0423デフォルトの名無しさん (ササクッテロラ Sp23-G776)
2017/04/25(火) 13:29:21.36ID:3fSgT78Np424デフォルトの名無しさん (ワッチョイ 4a3c-TbnN)
2017/04/25(火) 18:50:45.06ID:8UEDmHts0 >>411
https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/Delegation.html
http://best-practice-software-engineering.ifs.tuwien.ac.at/patterns/delegation.html#Structure
https://code.tutsplus.com/articles/design-patterns-delegation--cms-23901
Delegateはデリゲーションパターンにおいて処理を委譲されるクラスの役割名
「委譲する」という意味の動詞としても使われる
プロトコルは他言語で言うインターフェース
DelegationはCocoaでフレームワークから開発者の書いたコードを呼び出す場合によく使われるパターン
例えばTableViewの行を選択した時に何か独自の動作を行いたいなら
UITableViewDelegateに定義されている特定のメソッドを実装してDelegateとして設定しておくと
ユーザーが行を選択した時にDelegateとして設定したクラスの該当メソッドが呼び出されて開発者が書いたコードが実行される
UITableViewDelegateがプロトコルでそのプロトコルを実装したクラスがDelegate
プロトコルとの関係がわかりにくければUITableViewDelegateProtocolという名前を省略してると考えてるといいかも
https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/Delegation.html
http://best-practice-software-engineering.ifs.tuwien.ac.at/patterns/delegation.html#Structure
https://code.tutsplus.com/articles/design-patterns-delegation--cms-23901
Delegateはデリゲーションパターンにおいて処理を委譲されるクラスの役割名
「委譲する」という意味の動詞としても使われる
プロトコルは他言語で言うインターフェース
DelegationはCocoaでフレームワークから開発者の書いたコードを呼び出す場合によく使われるパターン
例えばTableViewの行を選択した時に何か独自の動作を行いたいなら
UITableViewDelegateに定義されている特定のメソッドを実装してDelegateとして設定しておくと
ユーザーが行を選択した時にDelegateとして設定したクラスの該当メソッドが呼び出されて開発者が書いたコードが実行される
UITableViewDelegateがプロトコルでそのプロトコルを実装したクラスがDelegate
プロトコルとの関係がわかりにくければUITableViewDelegateProtocolという名前を省略してると考えてるといいかも
425デフォルトの名無しさん (スップ Sdaa-skpP)
2017/04/25(火) 20:11:15.65ID:uC0QdnUhd でもAppleはblockを奨めているから
今時delegateじゃないよね
まあ知っておいた方が良いかな程度?
今時delegateじゃないよね
まあ知っておいた方が良いかな程度?
426デフォルトの名無しさん (ワッチョイ 4a3c-TbnN)
2017/04/25(火) 20:23:32.46ID:8UEDmHts0 blockと何の関係があるの?
427デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/25(火) 20:30:05.59ID:wOaxuRz+0 >>424
thx
2番目のURL記載のMultiple Inheritanceを避けて
Single Inheritance with Delegationってのが判りやすっすね。
CにはAの機能とBの機能が欲しい。じゃぁ、CはA, B2つのクラスを継承させれば良いか?というとそうでは無い。
CはAを継承しつつ、Bをメンバに持てば良い。
thx
2番目のURL記載のMultiple Inheritanceを避けて
Single Inheritance with Delegationってのが判りやすっすね。
CにはAの機能とBの機能が欲しい。じゃぁ、CはA, B2つのクラスを継承させれば良いか?というとそうでは無い。
CはAを継承しつつ、Bをメンバに持てば良い。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★3 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★8 [蚤の市★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★3 [蚤の市★]
- たけし、ダウンタウン、明石家さんまを超えた! 全世代を超えて愛されるお笑い芸人ランキング! 1位決まる [牛丼★]
- 【26年度予算案】防衛費、過去最大の9兆円規模に、政府調整 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- バイクのエンジンがかからないの…
- ドラえもんのいなかったのび太。それが俺とこのスレ見てるお前だよ [769050516]
- 【悲報】30代独身女性「結婚や成功してる友達との差は開く一方、このまま1人で生きて淘汰される人生だと気づいて絶望してる…406万いいね [483447288]
- 女の部下が俺の家に来たいって言ってくるんだが、、、
- 【画像】ドw童貞はw絶ッッッ対"1"を選ぶ卓球 J Kのお食事会の写真見つけちゃいましたwwwwwwwwwww [904880432]
- 日本(政治、司法、警察、資本腐ってます)←こいつがここから立て直す方法www
