トップページ⇒tech
1001コメント313KB

Swift part4 [転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/11/13(木) 15:39:01.67ID:TmOo0Hy+
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

関連スレ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/
帰ってきた動的言語 VS 静的言語(代表Swift)
http://peace.2ch.net/test/read.cgi/tech/1401809550/
新言語Swiftを語るスレ
http://anago.2ch.net/test/read.cgi/mac/1401736249/
プログラミング言語Swift
http://anago.2ch.net/test/read.cgi/mac/1401736921/

前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
Swift part2
http://peace.2ch.net/test/read.cgi/tech/1402465335/
Swift part3
http://peace.2ch.net/test/read.cgi/tech/1406083608/
0035デフォルトの名無しさん2014/11/20(木) 20:16:20.75ID:O2xbu2sa
「Software Design」誌でこんな連載が始まった

http://gihyo.jp/magazine/SD/archive/2014/201412#toc

【新連載】書いて覚えるSwift入門
【1】One More Thing for Developers……小飼 弾

日本最高レベルのハッカーである小飼さんがこういう記事だしてきたってことは
Swiftブームくるな
絶対買って読むべき
0036デフォルトの名無しさん2014/11/20(木) 21:25:55.83ID:ra7YxAr9
本人乙ωωωωωωωωω
0037デフォルトの名無しさん2014/11/20(木) 22:06:46.59ID:IKdwdnCH
シンプルで洗練されているものは実用性が低い
実用性が高いものは面倒で泥臭くて複雑
そういうことが多い
0038デフォルトの名無しさん2014/11/20(木) 22:19:20.45ID:zFnCrbq6
?
0039デフォルトの名無しさん2014/11/20(木) 22:47:43.93ID:cvWVk4pN
>>27
そりゃObjective-Cより厳密に型チェックするからね
idみたいな抜け道ないし
あとOptional型を全てOptional Bindingする必要はなくてnilじゃない確証があるならOptional ChainingとかUnwrapしても全然いいと思うんだけど
0040デフォルトの名無しさん2014/11/21(金) 00:17:02.17ID:uhFDfrMT
Swift触ったうえでの結論としてC#最強ってことかな
0041デフォルトの名無しさん2014/11/21(金) 00:20:32.07ID:myEwqC3m
もうきみはそれでいいや。うん
0042デフォルトの名無しさん2014/11/21(金) 02:48:31.31ID:7Teyyo2I
AnyObjectがidじゃないのか
0043デフォルトの名無しさん2014/11/21(金) 11:25:03.56ID:fnzhAPtQ
>>27
それもう散々言われてるから
訓練されたディベロッパーが残ってる
0044デフォルトの名無しさん2014/11/21(金) 14:51:50.45ID:y6NtGeVC
ディベロッパーのSwift離れw
0045デフォルトの名無しさん2014/11/21(金) 22:01:39.58ID:dCEMEAX2
>>42
idもAnyObjectも変数の型に指定すればあらゆるインスタンスを代入できる点では同じだけど
idの場合id型の変数の中身と親子関係ではない型の変数にも直接代入できてしまうから
こんな無茶なことをしてもコンパイルエラーにはならない

id a = [NSNumber numberWithShort:255];
NSString *str = a;
[str length];//当然ランタイムエラー

AnyObjectの場合AnyObject型の変数から他の型の変数へ直接代入する場合asでキャストしないとコンパイルエラーが出る
だから以下のように書く必要がある

let a:AnyObject = 255
if let str = a as? String {
countElements(str)//キャストに失敗するから実行されない
}
0046デフォルトの名無しさん2014/11/21(金) 22:41:54.17ID:X1+VQdzG
as! で強制キャストするアホゥに期待
0047デフォルトの名無しさん2014/11/22(土) 09:42:58.21ID:Wm3XtvsR
小飼弾に目を付けられるとは、Swiftの将来も洋々だなw
0048デフォルトの名無しさん2014/11/22(土) 14:48:02.24ID:LVIe/bBX
ま、あの人は新しいものに飛びつきやすいだけだから。
つまりその程度の言語ってことだよ。

あとGo言語よりはレビュー価値のある言語ではあった。
つまりメディアに取り上げやすい言語だったってことだよ。
0049デフォルトの名無しさん2014/11/22(土) 15:05:56.80ID:Fg4QwLMY
同意せざるを得ない
0050デフォルトの名無しさん2014/11/22(土) 15:19:39.99ID:mPVmfrBk
http://engineer.typemag.jp/article/2014log-dankogai
「これは間違いなく普及する」小飼弾、Swift愛を語る【2014年前半のインプットlog】
0051デフォルトの名無しさん2014/11/22(土) 18:02:15.27ID:orItGXyN
ぶっちゃけiOSアプリの新開発言語ってだけで十分話題になるからな
そもそも普及するプログラミング言語はあくまで「シェアの大きいプラットフォーム(またはフレームワーク)で動くソフトウェアが開発できるプログラミング言語」だから「言語構造が優れたプログラミング言語」である必要はないわけだし
0052デフォルトの名無しさん2014/11/29(土) 03:33:18.19ID:aq1pfk+P
スレ勢いいきなり減速wもっと頑張れSwift!!
0053デフォルトの名無しさん2014/11/29(土) 04:56:09.60ID:CQWYAdoe
swiftで
タブアプリケーションで
1つ目のビューにボタンを設置して
そのボタンを押すと
2つ目のビューのBerItemのEnabledを
変更したいのですが

ヒントをください
0054デフォルトの名無しさん2014/11/29(土) 09:59:35.47ID:cFgQrYkH
>>53
Outlet 設定してやりゃあ良いんじゃないの?
0055デフォルトの名無しさん2014/11/29(土) 16:27:47.85ID:a5GSun/j
親の方でOutlet作って、子の方でparentControllerでアクセス
エロイ人が swift らしい手法を教えてくれると信じたい
0056デフォルトの名無しさん2014/11/30(日) 16:33:27.13ID:nbrr+8dA
日経ソフトウェアがSwift特集やっている
これは買った方がいいな

日経ソフトウエア 2015年 01月号
http://www.amazon.co.jp/dp/B00PCOGH1U/
0057デフォルトの名無しさん2014/11/30(日) 22:50:42.55ID:b4nmdqGs
超ステマ
0058デフォルトの名無しさん2014/11/30(日) 23:50:49.70ID:eKHuU7at
だな。
0059デフォルトの名無しさん2014/12/01(月) 01:12:15.58ID:tpjG/WEs
本とか雑誌とかの紹介してもらったのなら礼言っときゃいいのにいちいち
けなさないと気が済まないんだな
そんなことだから心ある人は離れて、スレがどんどん寂れていくんだよ
0060デフォルトの名無しさん2014/12/01(月) 01:19:16.88ID:6ZzPtxrY
まあ、いいたいことはわかるように思うが
日経はなあ... メールがウザすぎるという点があるので、中傷もありだと思いますw
0061デフォルトの名無しさん2014/12/01(月) 01:50:36.48ID:WSkuKvua
相手の行動がひどければこちらは何やっても良いというのはちょっと
0062デフォルトの名無しさん2014/12/01(月) 03:33:14.56ID:wM1+Dawi
その腹立ちまぎれのウゼェ中傷を見せられるのは
日経にメアドなんて渡してない俺らだしな。
0063デフォルトの名無しさん2014/12/01(月) 03:40:31.56ID:1p4A3HL/
このスレにいるやつなら当たり前のことしか書いてない記事のために雑誌を買った方がいいとかアンチを疑うレベル
0064デフォルトの名無しさん2014/12/01(月) 04:36:08.12ID:wM1+Dawi
というか複数のスレで見かけたので
いつものマルチポスト君か。でおしまい
むしろ、ステマだ!工作だ!とか
いやおまえいま何歳だよ。と画面にツッコミ入る
0065デフォルトの名無しさん2014/12/01(月) 04:59:18.16ID:ayQKSVPo
今日、生涯で初めてMac買った!Macbook pro13
プログラムに触ったことすら無いけど頑張ってSwift覚えるよ。
慣れたら、今は全くの別業界の販売業だけどIT業界にいこうと思う。
0066デフォルトの名無しさん2014/12/01(月) 07:50:31.03ID:96UzexKY
>>64
むしろ「ステマ」のレスまでがテンプレでそれに突っ込む>>59に若さを感じる

こういうご新規さんの参加の仕方、PHPを思い出すな
アップルの思惑通りか
0067デフォルトの名無しさん2014/12/01(月) 12:44:40.56ID:GrWyVyTu
もともとこういう嫌な流れを隔離するために
雑誌書籍スレがあるのでそっちへ移動してくださいおながいします
0068デフォルトの名無しさん2014/12/01(月) 18:52:21.08ID:HQ6B4Kcc
関連書籍のリンク張られる度にそんなスレ行ってたら
いまごろ1000スレ越えだぜ。バカ新参が。
0069デフォルトの名無しさん2014/12/01(月) 18:55:58.25ID:g5HVgJVH
イミフ
0070デフォルトの名無しさん2014/12/01(月) 23:55:04.98ID:tpjG/WEs
隔離スレとか機能した試しがないんだから、いちいち自分が気に入らない話題の
ためにスレ作ってもキリがないというか、迷惑なだけだよな。
0071デフォルトの名無しさん2014/12/02(火) 00:00:36.38ID:/z1AotGw
宿題スレの隔離スレは機能しているようだよ、というか、コテが自分で隔離スレを作るというのも、そうかコテだからそんな馬鹿なことをしてへーきなんだね
0072デフォルトの名無しさん2014/12/03(水) 07:46:18.56ID:SwUJsAPC
ボタンをIBで接続する時にtypeはAnyObjectのままで良いのですか?
0073デフォルトの名無しさん2014/12/03(水) 09:23:20.08ID:5E26ydi/
//チェックしてないけど、次のコードは動くはず
//適当なクラスの実装にて

@IBAction func hee (AnyObject)
{
println("へぇー")
}

@IBAction func heeButton (sender:AnyObject)
{
sender.title = "へぇー?"
self.hee(sender)
}

@IBAction func heeButtonTyped (sender:UIButton!)
{
sender.title = "へぇー!"
self.hee(sender)
}
0074デフォルトの名無しさん2014/12/03(水) 14:12:14.15ID:nkl7s7Gb
どなたかobjective-cをSWIFTに翻訳お願いできませんでしょうかm(_ _)m

- (void)applicationDidEnterBackground:(UIApplication *)application
{
void (^handler)(void) = ^{
UIApplication* app = [UIApplication sharedApplication];
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
};
bgTask = [application beginBackgroundTaskWithExpirationHandler:handler];
[application setKeepAliveTimeout:600 handler:^{
if (!bgTask || bgTask == UIBackgroundTaskInvalid) {
UIApplication* app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:handler];
}
}];
}

これをSWIFTに書き換えたいのですがうまくいかず。。
0075デフォルトの名無しさん2014/12/03(水) 15:15:05.99ID:3qBLjzZ5
ちゃんとSwiftって書けるように心酔したら、そんなアホなことお願いしないと思うよ
0076デフォルトの名無しさん2014/12/03(水) 15:37:39.42ID:ox8ONGkP
手段と目的が云々
0077デフォルトの名無しさん2014/12/03(水) 16:17:37.15ID:xPpWTJO0
目的は swift でアプリを作ることだろう
何を言っているんだ、お前は
0078デフォルトの名無しさん2014/12/03(水) 16:42:59.70ID:9H2vkWGi
obj-cで問題なく動いてるならswiftに書き直すことはしないほうが良いというのが、どこかに書いてあった気がする。どこだっけ?
0079デフォルトの名無しさん2014/12/03(水) 16:47:41.30ID:gjBI+if1
新しく書きたいんじゃないの?
で、昔、こう書いてたのをswift的に書くのはどうしたらいいかって話かと
0080デフォルトの名無しさん2014/12/03(水) 16:50:17.50ID:3qBLjzZ5
setKeepAliveTimeoutでググった最初のヤツのコピペみたいだな
コピペコードをSwift好きでやっているハズなのに変換できない(ほぼ一対一で定型的ななのに)って。Swift好きなわけでもなくObjective-Cより簡単そう/簡単そうに見えたってだけか...

そもそもそのコピペコードがーっ...以下省略
0081デフォルトの名無しさん2014/12/03(水) 17:01:42.01ID:3qBLjzZ5
func applicationDidEnterBackground(application: UIApplication) {
var handler = {() -> Void in
var app = UIApplication.sharedApplication()
app.endBackgroundTask(bgTask)
bgTask = UIBackgroundTaskInvalid
}
bgTask = application.beginBackgroundTaskWithExpirationHandler(handler)
application.setKeepAliveTimeout(600, handler: {() -> Void in
if bgTask == 0 || bgTask == UIBackgroundTaskInvalid {
var app = UIApplication.sharedApplication()
bgTask = app.beginBackgroundTaskWithExpirationHandler(handler)
}
})
}

コピペコードの目的がアレ&コピペプログラマーに餌を与えるようでナニ&Swiftはまだあまり好きではないのでもっとSwiftっぽくってのは知らんけど
0082デフォルトの名無しさん2014/12/03(水) 17:03:14.24ID:4rF0wfjB
ちょいちょい一対一じゃなくてコード補完と戦うけどな
これもちょっとアレな感じなので、swiftに慣れてないとワケワカメな類いだろ
0083デフォルトの名無しさん2014/12/03(水) 17:11:12.33ID:3qBLjzZ5
ん?クロージャの書き方とObjevtive-Cのメソッドの呼び出し方だけやん
基本中の基本なんじゃないの?基本わかってないのにあんなことしようとするのが無謀かとw
0084デフォルトの名無しさん2014/12/04(木) 15:08:01.61ID:RsB0Dj/B
Swiftの「初心者お断り」感が半端ない件。
Swift初心者からの質問にObjective-Cから始めろと答えるのが通例になりつつあるな。
0085デフォルトの名無しさん2014/12/04(木) 16:39:05.69ID:cJiNTcgJ
C++でCからやれと言われるのと同じか
誰かの努力でなんとかなれ
0086デフォルトの名無しさん2014/12/04(木) 20:30:37.48ID:YLXASCDJ
なぜ?
基本はこうだよ
と言えないのか
0087デフォルトの名無しさん2014/12/04(木) 23:16:15.38ID:AGcjSnKa
>>84
俺もObjective-Cを少し齧った程度でSwiftに期待して始めたけど結局NSDataやNSStringなんかが必要でObjective-C必須じゃんって思ったけどやっぱそうなんだなw
まぁ言語なんて帰宅後の2-3時間の勉強で3日あれば覚えるし、あとは実際開発してフレームワーク覚える方が重要だからどっちでもいいけど
0088デフォルトの名無しさん2014/12/04(木) 23:18:13.16ID:8+yJPy0h
どのスレでも>>1>>2は基本じゃないのか?
0089デフォルトの名無しさん2014/12/04(木) 23:32:57.73ID:2eix3CFf
Swiftで書いても設計が変わるわけじゃないからな。
0090デフォルトの名無しさん2014/12/05(金) 09:51:34.30ID:d3g9qRgm
cocoaに縛られるの辛いな
0091デフォルトの名無しさん2014/12/05(金) 10:13:08.44ID:/ff10/2j
Objective-C挫折組の嘆きとしか見えないな
0092デフォルトの名無しさん2014/12/05(金) 10:35:14.68ID:NyP973bT
>>87
それ Objective-C の知識というより Framework の知識だろ

C++ やるのに C 先にやれというのは有りだが
C# やるのに Win32API を覚えろと言ってるくらい変な話
0093デフォルトの名無しさん2014/12/05(金) 10:55:56.72ID:47g0Srgr
夏休みにSwift発表と聞いて、真っ先にObjective-Cに取り組んだ俺勝ち組ってことか。
Xcodeのコード補完が便利過ぎて未だにSwift使ってないけどな・・・。
ぶっちゃけIDEが優秀なら言語はそれほど重要じゃないんだよ。
Java vs PHPの時もそうだったし。
0094デフォルトの名無しさん2014/12/05(金) 14:29:06.39ID:jZ7BIQsq
PG観点ではそうかもしれんが上流からみると
設計を効率的に反映して実装でバグを生みにくい言語選択はそれはそれで重要
まぁアップルOSでobj-c一択だった言語選択肢が2つになったからといって誤差だわな
0095デフォルトの名無しさん2014/12/05(金) 16:57:15.42ID:R353Myf5
どんなにIDEが優秀でもJavaは糞だけどな
0096デフォルトの名無しさん2014/12/05(金) 17:33:08.25ID:/ff10/2j
使いこなせない馬鹿ですという自己紹介はいらないよ
0097デフォルトの名無しさん2014/12/05(金) 18:46:51.28ID:R353Myf5
ど素人乙
道具にこだわらないのはプロ失格
プロスポーツ選手だって道具にこだわるんやで
0098デフォルトの名無しさん2014/12/05(金) 19:52:35.88ID:/ff10/2j
プロスポーツでも、道具にこだわるが道具は適したものを使うだろう
プロ野球でもポジションにあったグラブを使うように。まあたまに拘りのグラブでどこでもの選手もいるが。俺はそれレベルだって?w
そもそも全くその例えは見当違いもいいとこだと思うけど
0099デフォルトの名無しさん2014/12/05(金) 23:30:55.23ID:R3VeSzb5
まぁ結論としてVSでiOS開発できるXamarin最強ってことなんだよな。
いま国内大手もほとんどXamarin+C#だし、ゲームもUnity+C#
OSはあれだが少なくとも言語設計のセンスや開発環境にかんしてはMS世界一だろ
0100デフォルトの名無しさん2014/12/06(土) 00:07:11.56ID:+/vwOA/9
っていうヤツがなんでここにいるのか
他が気になってしょうがないってのはいっていることを裏切っている、または、いっていることが本心ではなということかw
0101デフォルトの名無しさん2014/12/06(土) 00:14:38.90ID:2HUbxNCP
金さえ詰めるなら、Objective-CだのSwiftだの使う理由が全くないよね。
.NETもオープンソースになったし、これからはC#の時代。
Swiftの特徴は、ほとんど既にC#にもあるものだし。
C#さえ使えれば、MacでもWindowsでもLinuxでも通用する。
0102 ◆QZaw55cn4c 2014/12/06(土) 00:34:59.86ID:uyZCaoW8
ヘルスバーグは裏切らない‥
0103デフォルトの名無しさん2014/12/06(土) 00:43:20.60ID:+/vwOA/9
Cocoa Touchフレームワーク使うんだから、SwiftだろうがObjective-CだろうがC#だろうがそんな優劣なんてないだろう
わざわざこんな別のスレにきてC#,C#って、それしかできないのはわかったから、なんか他の目的があるのかなあ?啓蒙とか?w
0104デフォルトの名無しさん2014/12/06(土) 02:43:17.82ID:FCtQmfGZ
金積めるならC#使う理由も全くないんだよなあ
0105デフォルトの名無しさん2014/12/06(土) 05:26:31.39ID:e7AXH4PI
Unity + C# で作っても、iOS に deploy するなら、obj-c または swift で 記述しなければならない部分があるじゃんよ。
0106デフォルトの名無しさん2014/12/06(土) 09:04:36.79ID:hXpZW877
Type Scriptはないのかよ
swift vs type script とか言われてたじゃんよ
0107デフォルトの名無しさん2014/12/06(土) 13:30:09.98ID:+/vwOA/9
C#しかできないヤツみたいだからな
C#意外はアウトオブ眼中、てか、否定しなければ自我が保てないとか
フレームワークをどう使うかの方がよっぽどで、言語の差異なんてちょっと馴染めば済む話だと思うんだがなあ。また、それぞれの言語の差異を楽しめばいいのにw
0108デフォルトの名無しさん2014/12/06(土) 13:31:22.54ID:Fvd5IDeK
autolayoutと同じでしばらく静観が吉。
0109デフォルトの名無しさん2014/12/06(土) 13:36:27.47ID:Fvd5IDeK
 そもそもC#に限らず、Android、iOS間でゴキゲンに使える汎用フレームワークなんて存在する? 俺の知る限り未だにないな。
ちゅうかAndroidアプリをiPhoneみたいに一個のアクティビィティで作るなんて非現実的だと思うが。

Qtとかどうなっているんやろ?
0110デフォルトの名無しさん2014/12/06(土) 14:21:39.13ID:+/vwOA/9
汎用フレームワークなんて流行った/成功したためしがないな。GUIに関わるものは
0111デフォルトの名無しさん2014/12/06(土) 15:00:42.88ID:ob3/QUt6
>>109
今は activity 一つで fragment を多用するんやで

gtkというそこそこ長く使われたGUIライブラリ
(今はGNOME3で盛大にこけて再起不能)
0112デフォルトの名無しさん2014/12/06(土) 15:44:16.26ID:Fvd5IDeK
80年代や90年代前半ならともかく、gtkみたいなCベースのGUIライブラリなんて使いたくないわ。
0113デフォルトの名無しさん2014/12/06(土) 15:45:32.73ID:7IWME+c9
GTK は糞
0114デフォルトの名無しさん2014/12/06(土) 15:46:36.58ID:3fRUx13Z
よく分からんがこれからiOSアプリ開発始めるプログラミング初心者ならswiftでいいんだよね?
C言語の本とかなら近所のブックオフに沢山置いてあるけど要らないよね?
0115デフォルトの名無しさん2014/12/06(土) 16:59:02.97ID:2HUbxNCP
>>110
Javaは成功してるだろ
今は猫も杓子もJavaの時代。これはマルチプラットフォーム戦略が成功したから。
Javaの弱点は、コンポーネントがネイティブと違うから違和感丸出しなところ。
C#とXamarinは、ネイティブコンポーネントを生成するから、これすらも克服する。
C#はこれから、Javaを超える。
0116デフォルトの名無しさん2014/12/06(土) 17:17:23.02ID:rEg6r14Y
越えねーよ
0117デフォルトの名無しさん2014/12/06(土) 17:23:39.94ID:KS+oAFGh
Write Once, Test Everywhere www と言ってあげれば良いのかな
一周回ってまた流行ったけど、また廃れ始めてるだろ
Java7互換ランタイム少ないっつーか、誰も追従も開発もしねーし

swiftは唯我独尊で追従も開発も不可能なので比較にならんからスレ違い
0118デフォルトの名無しさん2014/12/06(土) 17:26:34.18ID:rEg6r14Y
お前の存在がスレ違い
0119デフォルトの名無しさん2014/12/06(土) 17:35:38.10ID:KS+oAFGh
オマエモナー
0120デフォルトの名無しさん2014/12/06(土) 17:49:00.98ID:69hstd6T
んじゃそろって退場すっか
0121デフォルトの名無しさん2014/12/06(土) 18:18:25.87ID:+/vwOA/9
>>115
成功しているなんて言えないな。まれに見るくらいだろ

でもC#>Javaなのね。で、Swiftにはまったく関心が無いのね。でも居座り見続けるって、なんなんだか
まともな開発者とは思えないwなんらかの私情優先という点で。まあそういう邪魔臭い開発者もいることにはいるけど
0122デフォルトの名無しさん2014/12/06(土) 20:08:57.50ID:Fvd5IDeK
クライアントJavaなんて大コケしたが。まともなアプリなんて、
開発ツールぐらいしか出なかった。
0123デフォルトの名無しさん2014/12/06(土) 20:16:39.26ID:FCtQmfGZ
何でこんな句読点のおかしい人大集合みたいになってんの
0124デフォルトの名無しさん2014/12/07(日) 11:47:42.75ID:EfvfTw+e
>>121
サーバーサイドじゃほとんどJavaだよ
WindowsServer以外じゃC#使いにくかったからな
0125デフォルトの名無しさん2014/12/07(日) 12:25:17.02ID:owphIsif
GUIに関わるものは
HTMLがGUIに関わる汎用フレームワークっていうならふーんだが
0126デフォルトの名無しさん2014/12/07(日) 19:06:37.81ID:sLcRO6zh
しったか乙w
0127デフォルトの名無しさん2014/12/07(日) 19:13:20.04ID:owphIsif
「HTMLが」「GUIに関わる汎用フレーム」って言っているわけじゃないよ。いちおう
なんていっていいのか...考えるのが面倒だったので。まあ、そういうことw
0128デフォルトの名無しさん2014/12/08(月) 06:11:19.52ID:dl4tgOhB
せっかくC#使いが紛れてるみたいなので訊いてみるけど、genericsって どう使うと便利なの? C#で記述してもいいから教えてほしいな
0129デフォルトの名無しさん2014/12/08(月) 06:31:29.25ID:+NczQqkX
DRY原則だけ考えても利点は明らかだと思いますが
genericsがなんだか分からないというなら話は別ですが
0130デフォルトの名無しさん2014/12/08(月) 18:23:54.85ID:Gr4Uo9Ge
無くてもDRY原則を守ることはできるので、DRY原則関係ないのは明らか
でやり直し
0131デフォルトの名無しさん2014/12/08(月) 19:18:23.82ID:KcBGEiTf
ソフトなんだからそりゃ何だって出来るだろw
それがどの程度利便性(難易度)があるか程度の話だ
0132デフォルトの名無しさん2014/12/08(月) 20:05:54.70ID:QfTiJ47a
知らないかもしれないが、Objective-Cは無いのがあたりまえ(/ああ便利)でもあったので、
利点は明らかでもない
0133デフォルトの名無しさん2014/12/08(月) 21:59:49.82ID:/ZamXyKM
Objective-Cはある種のオブジェクト指向に忠実に
「なにが飛んで来てもオブジェクトが自分が扱えるか扱えないか判断できるだろ?」と
id(万能)型の方がスタート地点だからな…
型がカッチリ決まってないとムダだしバグるだろう!って
ガチガチに決めた側から「やっぱりいろいろできた方が…」って
緩和してってgenerics足してる動きとは真逆ではあるな。
0134デフォルトの名無しさん2014/12/08(月) 22:08:30.05ID:xXdh6k41
静的に多態が表現できるところ
0135デフォルトの名無しさん2014/12/08(月) 22:59:18.90ID:2999qdD/
ユーザ定義型のオブジェクトを持つコレクションでソートしてみろ.genericsの要諦はそこ。
■ このスレッドは過去ログ倉庫に格納されています