トップページ⇒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/
0412デフォルトの名無しさん2015/01/17(土) 11:32:33.66ID:Myj9loPB
なるほど
一言で判り易く言ってくれたので
ますます人寄り付かなくなって
過疎るな
0413デフォルトの名無しさん2015/01/17(土) 14:08:02.76ID:t2YjwJtA
swiftはタイプ量は減るのがメリットなんよ
ヘッダファイルしかり、型宣言しかり、ブロックしかり

デメリットは言うほどセキュアじゃなくnilアクセスで落ちる、小さくないランタイムで速度,容量増、obj-cライブラリとの親和性微妙
0414デフォルトの名無しさん2015/01/17(土) 15:02:47.76ID:sqhqU9t5
CoffeeScript 最高
ですねわかります
0415デフォルトの名無しさん2015/01/18(日) 04:03:22.31ID:oCmAbTPI
>>413
Swiftで書いててnilで落ちるのは書いたやつがどうしようもないアホタレなだけやないか
0416デフォルトの名無しさん2015/01/18(日) 11:25:56.58ID:ZTPATsLt
つまり、どうしようもないアホタレが書き込まなくなったと
0417デフォルトの名無しさん2015/01/18(日) 11:33:21.14ID:9yORck7L
swiftもnil, NaNチェックが小まめに必要と身に染みて分かったわな
0418デフォルトの名無しさん2015/01/18(日) 12:40:56.66ID:FrxzlsYx
>swiftもnil, NaNチェックが小まめに必要

Objective-C でいいやん
0419デフォルトの名無しさん2015/01/18(日) 23:25:35.15ID:ACJ/Scxg
アップルのプログラム言語Swift、異例のランキング急上昇
http://www.gizmodo.jp/2015/01/swift_1.html?utm_source=rss20&;utm_medium=rss
0420デフォルトの名無しさん2015/01/19(月) 08:14:41.94ID:C0KWQUdj
>>411
ネタもなにも
数年後には消えてるよコレ。完全に人の期待裏切ってるどうでもいい言語
だもんww
0421デフォルトの名無しさん2015/01/19(月) 09:48:41.31ID:jGwp2f1A
なるほど
Dart みたいなものか
0422デフォルトの名無しさん2015/01/19(月) 10:13:24.63ID:Bxyc3tII
最近メインストリームに乗った言語の要因(今は昔ではある
JavaはRun anywhere
PHPはHTMLの中にコードが書ける
RubyはRuby on rails
swiftは、、、?

objcとの互換を引っ張りすぎて特徴無さすぎ
rubyみたいに言語として普通でも優れたフレームワークがあればと思うけど
それもobjcから問題なく叩けるから目立たないね
0423デフォルトの名無しさん2015/01/19(月) 11:00:39.94ID:X7WYIBYU
>>422
アップルのプラットフォーム専用言語という性質を変えるつもりはアップルにもないだろうから
メインストリームに乗せることなんてハナから想定していないと思うけど。

もちろんオープンソース化はするかもしれないし、
その場合には他のプラットフォームでSwiftコンパイラを走らせて遊ぶ好事家が現れるだろうけど、
そういう動きにアップルが積極的にコミットすることはないだろうし
アップルがSwiftの仕様変更を考えるに当たって、他のプラットフォームへの移植性に配慮することもないだろうと思う。
0424デフォルトの名無しさん2015/01/19(月) 13:27:01.68ID:KroxEeJe
なるほど
pythonはオワコンか
0425デフォルトの名無しさん2015/01/19(月) 13:36:53.76ID:C3HXE5br
>>423
問題なのは

同じその方向性でありながら、だったらObj-Cでいいやってのが大半
なほど、swiftに圧倒的な魅力がないってのがね。
0426デフォルトの名無しさん2015/01/19(月) 13:49:09.77ID:BqKfPTpX
ある程度コードの蓄積があればまた変わってくるだろう
0427デフォルトの名無しさん2015/01/19(月) 14:18:41.83ID:rEWfpaKH
アップルの中のメインストリームで良いから何か特徴を
obj-cでなくswiftじゃないと出来ないフレームワークって作れないかねぇ
0428デフォルトの名無しさん2015/01/19(月) 14:57:32.99ID:KroxEeJe
アポーが WPF とか WinRT とか作るとは思えないな
0429デフォルトの名無しさん2015/01/19(月) 18:25:35.41ID:LJNkygOR
swiftはLLVM互換だから何処でも動く(予定)らしいよ
# 去年夏くらいの希望的コメント
0430デフォルトの名無しさん2015/01/20(火) 01:08:04.45ID:Hr3j4XeI
>>425
>だったらObj-Cでいいやってのが大半なほど、

それはこのスレだけの集計結果だろう
0431デフォルトの名無しさん2015/01/20(火) 12:06:22.79ID:PellDhE9
Swiftスレでそうであればちょっとは意味があるだろう。たかが2chのスレではあるがw
0432デフォルトの名無しさん2015/01/20(火) 13:36:39.87ID:uvF5QKOi
母数が少ないからのう
(根本はswiftユーザーの母数が少ないせい)
0433デフォルトの名無しさん2015/01/20(火) 18:18:43.35ID:8Xcw/Tsm
Swiftって、ジョブスが考えたの?
0434デフォルトの名無しさん2015/01/20(火) 21:00:45.56ID:6xQqA8hU
ショブス最後の作品
0435デフォルトの名無しさん2015/01/20(火) 22:20:10.45ID:+wjvYlxp
struct で mutating なメソッドでメソッドチェーンしようとしても
返値が定数として扱われるからチェーンできないのが残念

struct Num {
var val = 0
mutating func increment() -> Num {
val++
return self
}
}

var n = Num()
n.increment().increment()
// error: immutable value of type 'Num' only has mutating members named 'increment'
0436デフォルトの名無しさん2015/01/20(火) 23:42:46.59ID:Hr3j4XeI
>>431
5人ぐらいしか書き込んでる人いないのに?
0437デフォルトの名無しさん2015/01/20(火) 23:58:37.70ID:arSCg0Ys
Swift は PHP とか Javascript とかやってた Web 屋がメインターゲットだろう。
すでに objc 覚えた人間は objc の方が余計な層がない分だけ扱いやすいということもあろうが、Web 屋に C をやらせるのは厳しいだろう。

>>429
LLVM はコンパイラやインタプリタを作るためのフレームワークであって、JVM のような VM ではなく ir を走らせる共通ランタイムのようなものは無い。
さらに Swift を動かすためには Cocoa を移植する必要があり、それが大変。
0438デフォルトの名無しさん2015/01/21(水) 00:01:11.20ID:VO+ahiZX
>>436
5にんってよくわかるなw
それだったら「集計結果」なんて大層なもんんじゃ無いだろ
0439デフォルトの名無しさん2015/01/21(水) 01:16:00.10ID:MJRK+RVK
SwiftはWeb屋向きって根拠何?
0440デフォルトの名無しさん2015/01/21(水) 06:15:26.93ID:aZwz4ve8
>>435
クラス使えってことかねぇ

>>439
LLな言語仕様が根拠じゃね?
アポーが有像無像な数のLL層を取り込みたいんだろうなとは思う
0441デフォルトの名無しさん2015/01/21(水) 08:54:23.33ID:HiNqxen5
>>438
なに真剣に反応してんの?
0442デフォルトの名無しさん2015/01/21(水) 09:23:27.19ID:D2CSjkS2
>>441
ブーメランささってんぜ?
0443デフォルトの名無しさん2015/01/21(水) 11:09:16.55ID:9Nan+1RY
>>437
UI層まで持ってていろんな環境で使える言語ってのが少ないのはそういうとこだよね
Javaがそういうとこ頑張ってるのは偉いと思う
0444デフォルトの名無しさん2015/01/21(水) 18:01:23.49ID:P1goTA9N
Web屋というかFlash作ってたような世代を取り入れたいんだろう。
HTML5+JSで開発してる層をネイティブアプリ開発に呼び込みたいという戦略もある。
0445デフォルトの名無しさん2015/01/21(水) 23:03:04.27ID:MBThOwi8
SwiftがってわけじゃないがExcelVBAしかやったことないとまず概念とか基本的なとこで躓くな
例えば二郎のコールを作るアプリのメニュー考えたときに、
サイズ→小、大
脂→抜き、マシ、マシマシ、チョモランマ
野菜→マシ、マシマシ、エベレスト
とかメニューと設定値が階層になってる
なるべくリテラル?ベタ書きしないように書く場合、MVCのどこにどういう変数で宣言すればいいんだ?とか何が正解か悩みまくって進まない・・・
0446デフォルトの名無しさん2015/01/22(木) 01:23:56.52ID:BXdeTyfz
ExcelVBAしかやったことがないってのはド素人と変わらないからな
まあがんばりや
0447デフォルトの名無しさん2015/01/22(木) 06:51:47.79ID:nCxlNqmW
XcodeのUIがクズいのを差し引いても
そこからの剥離は越えるの大変だろうな
0448デフォルトの名無しさん2015/01/22(木) 11:41:38.87ID:8E4FiOYa
VBAだとオブジェクトとかビューを意識しなくていいから素人の自分でもすんなり複雑なことができた
手でやるのをコードで作文するだけだし
ちなみに上の場合だとどういうファイル構成、変数の持ち方しますか?
0449デフォルトの名無しさん2015/01/22(木) 13:52:56.60ID:f6+j47qC
おすすめしないけど
View: Storyboardだけで頑張る
Controller: UIViewControllerを継承したクラスだけで頑張る
Model: NSNotification+Dictionaryで Controller間を投げ合い(同一Controller内はblock)

これでswiftは突き進みたいと思いながら
Cocoaのdelegateに邪魔されて何とかかんとか

MVC(オブジェクト思考)とか関数型とか swift関係なくなるから
Cocoaスレ的なトコに行った方が良い答えがあるかもなー
0450デフォルトの名無しさん2015/01/22(木) 14:13:06.09ID:8E4FiOYa
いきなり綺麗な書き方は無理ですよね
とりあえずコードは煩雑でも動くものをたくさん書いて後からMVCならこう切り分けられるとか考えてみます
0451デフォルトの名無しさん2015/01/22(木) 22:15:31.87ID:IufG/aAk
>>447
>そこからの剥離は越えるの大変だろうな

はく‐り【剥離】
[名](スル)はがれること。また、はがすこと。「網膜が―する」「塗装を―する」

? 日本語も使えないレベルの人間が
Xcodeを使いこなすのはそら難しかろう。
0452デフォルトの名無しさん2015/01/22(木) 23:23:41.73ID:A5+6oQBx
swiftのドキュメント英語だしな
日本人はつらいな
0453デフォルトの名無しさん2015/01/23(金) 06:41:00.50ID:Hr76SqrY
久しぶりに本屋行ったら
swiftの本いっぱい並んでたω
0454デフォルトの名無しさん2015/01/23(金) 10:28:29.01ID:JCQM20f+
Swift移行してみたいけど、機能多すぎて学習面倒臭そう。
0455デフォルトの名無しさん2015/01/24(土) 16:11:33.33ID:KxFe7/be
>>451
「乖離」っていいたかったんじゃね?と思ったけど
それでもちょっと変な文章だよなー
0456デフォルトの名無しさん2015/01/25(日) 08:38:19.46ID:42ZeVnYv
>>454
Playground使ったら数時間でなんとかbirdがswiftで作れるくらいに優しい
(外部objcライブラリで結構楽してる模様)
0457デフォルトの名無しさん2015/01/27(火) 11:39:20.43ID:6q+9W1rs
こんなOS依存の言語を覚えるべきではない
0458デフォルトの名無しさん2015/01/27(火) 12:51:15.59ID:N7NBIOGD
って言いにくるアホ。お前が興味津々じゃねえかw
0459デフォルトの名無しさん2015/01/27(火) 12:58:43.56ID:DURkNW7P
objcを ios だけのために学んだ多くのエンジニア涙目ww
0460デフォルトの名無しさん2015/01/27(火) 13:09:06.17ID:N7NBIOGD
それでチミは今は何をつこーて何かを作っているのかいな?何もできなさそうだけど
0461デフォルトの名無しさん2015/01/27(火) 13:29:13.33ID:67Qc+F4N
>>460
gtkを使ったマルチプラットフォームに興味あるよ
swiftに全く関係ない話題だと思うけど

swiftもそろそろオープンソースコンパイラ&ランタイム出ないかねぇ
1.0準拠でいいんだけど、何か規約に抵触するんだっけ
0462デフォルトの名無しさん2015/01/27(火) 14:55:39.42ID:N7NBIOGD
いや、今つこーてるのを聞いたんだが。まあ別人ならいたしかたがなし

オープンソースの意義をよく理解しているが、今ちょー忙しいから、(Apple内部で)検討する時間が無いので(ちょー意訳・誤訳ありかもw)
って、昨年の7月だったかに言っていたが、どうなってんだろうな。ドキュメントはオープンだからあとも言っていたようなので、特に他が作るのは邪魔しないんじゃないかなあ
0463デフォルトの名無しさん2015/01/27(火) 15:47:03.52ID:vvOeqkfP
脱アルゴリズムの人Qiita垢BANwwwwwwwwww
0464デフォルトの名無しさん2015/01/27(火) 16:32:37.47ID:5lN9Y626
ちょっとしたプチ事件だね。
無能な働き者が手に負えないって、パターンですか?
0465デフォルトの名無しさん2015/01/27(火) 17:35:47.37ID:NDl6Mu8J
日本では出る杭は叩かれから


とか言ってそうだなw
あの人は出る杭じゃなく、ジョブス信者&関数型信者で傾向してるのが可笑しいんだ
0466デフォルトの名無しさん2015/01/27(火) 20:12:05.03ID:JHxnwmPh
叩かれた程度で引っ込む杭なら大した杭でもないんだろう
0467デフォルトの名無しさん2015/01/27(火) 20:22:39.29ID:Snmezf+m
どうやら引っ込むという状態は存在しない人らしいぞ。てかより出るようなw
大した杭と認めるのか、ほぉ
0468デフォルトの名無しさん2015/01/27(火) 21:03:55.40ID:8Es+EE5K
>>467
論理的推論が苦手な子?
0469デフォルトの名無しさん2015/01/27(火) 21:34:55.35ID:Snmezf+m
論理的推論ってなんのことやら
「叩かれた程度で引っ込む杭(としたら)」ということか?推論の部分は。その想定が違うんじゃね(てか、逆逆w)てことなんだがなあ
論理的w推論w
0470デフォルトの名無しさん2015/01/27(火) 22:11:04.72ID:ucfZxcxx
カッコの中は合いの手か何か
0471デフォルトの名無しさん2015/01/27(火) 22:42:15.85ID:Snmezf+m
こんなこと自分で 合いの手か何か を入れ、気分を高めながらじゃなきゃ書けないからな。んなわけでもそういうのでもない、たぶんw
0472デフォルトの名無しさん2015/01/27(火) 22:43:24.98ID:5lN9Y626
帰納とか演繹のことやで
>>468
どうやら言葉を知らん子やったらしい
0473デフォルトの名無しさん2015/01/27(火) 22:45:42.23ID:E50XT5JI
誰か>>469の日本語かswiftへの翻訳よろ
出来ればswiftで頼む、日本語難しい
0474デフォルトの名無しさん2015/01/27(火) 22:55:47.09ID:Snmezf+m
>>472
小難しい言葉を並べるだけってのはわかるでえ
0475デフォルトの名無しさん2015/01/27(火) 22:59:28.08ID:8Es+EE5K
>>469のアホの子は本当に気がついてないのか。
>>466の主張の裏とってどうすんの、ってはなしなんだが。

日本語の崩壊ぶりといい、日常生活やってけてんのかな。
0476デフォルトの名無しさん2015/01/27(火) 23:05:16.26ID:Snmezf+m
主張?主張なの?単なる>>465に対する言葉遊びのようなもんじゃないの
ちょっとねっとさーふぃーんwしたらトンデモな人のようで、「叩かれた程度で引っ込む杭」なんてタマじゃねーよってことで「裏をとる」wとかの話ではないんだが

そゆことで>>467なんだがな?おかしい?それでも、おかしいんだったら、もういいや
0477デフォルトの名無しさん2015/01/27(火) 23:06:51.44ID:8Es+EE5K
>>476
うん、いや、本当にわかってないんだったらもういいんだ。
どうぞお幸せにお過ごしください。
0478デフォルトの名無しさん2015/01/27(火) 23:08:02.56ID:Snmezf+m
>>477
お前の主張wが聞きたかった。よく見たらなにもないな… ちくしょーっ
まあおつかれさん
0479デフォルトの名無しさん2015/01/27(火) 23:11:11.07ID:8Es+EE5K
>>478
そうかい。裏とか逆とか対偶とか時々は思い出してやってな。じゃあね。
0480デフォルトの名無しさん2015/01/27(火) 23:32:24.88ID:CUzhPZ77
前はDylanだし、Appleは自社開発のプログラミング言語に
人名とかぶる名前をつけるのが好きだな
0481デフォルトの名無しさん2015/01/27(火) 23:45:37.47ID:ucfZxcxx
ググラビリティ的にありがたくはある
0482デフォルトの名無しさん2015/01/27(火) 23:48:44.31ID:TQ7Re758
テイラー女子とスウィフト男子
0483デフォルトの名無しさん2015/01/28(水) 00:02:34.62ID:/G/OURFa
ダーウィン爺さん

ちなみに社名とロゴもパクリで訴えられました
0484デフォルトの名無しさん2015/01/28(水) 00:05:09.90ID:wg3x/SMn
そういや言語じゃないけどニュートンもそうか
0485デフォルトの名無しさん2015/01/28(水) 12:26:26.21ID:nu6iYjgU
心を打たれた、衝撃だ、と賞賛してくれる人も少なからずいました。
ボロクソに書いてくれた人も少なからずいました。
しかし、ジョブズの言うとおり、誰も無視はできなかったようです。

Think Different! Make a Difference!

https://gist.github.com/kenokabe/cfd0049ac3c11ea45a27
0486デフォルトの名無しさん2015/01/28(水) 12:51:14.29ID:i0epNFcZ
長くて最後の数行だけ読んだら自己批判?してて意味が分からない
滑稽で面白い人をQiitaは追い出してしまった

AliceとかBobはよく使うしな
固有名詞は便利だと思う
0487デフォルトの名無しさん2015/01/28(水) 16:29:05.10ID:M4o1Ahp6
>>485
> 技術の話題でThink differentするのがそんなに難しいですか?

うちの社内にも既存の用語や一般用語を世間で使われているのと別の意味で使って
フレームワークを作っていく人が居る。初めは戦っていたけど、最近では
「あの人の言葉とラベルはそのまま読まないほうがいい」という対応に変わりました。

世の中には言葉と名前を大事にする人と、そうではない人が居ると思う。
0488デフォルトの名無しさん2015/01/29(木) 18:34:00.63ID:lQw9npLj
iTunes Uにスタンフォードの「Developing iOS 8 Apps with Swift」きたで

https://itunes.apple.com/jp/course/developing-ios-8-apps-swift/id961180099
0489デフォルトの名無しさん2015/01/29(木) 19:04:14.08ID:IGBygxum
>>488
ええなこれ
0490デフォルトの名無しさん2015/01/29(木) 19:31:43.52ID:3SK/mE8d
swiftとはなんぞや?を知るには微妙な気がしたがどうだろう
Stringクラスについてとか真面目に説明してくれないとマジで困ると思った
(NSStringとStringに実は互換性がないとか、Cocoa.Framework叩く時に首をかしげるわ)
0491デフォルトの名無しさん2015/01/29(木) 19:54:24.56ID:KP4aMXE3
>>488
おいくらどすのんのん
0492デフォルトの名無しさん2015/01/29(木) 20:34:10.78ID:2DmfCkuL
>>490
互換性が無いというのはなんぞや
CFStringとNSStringとの関係と同じというわけにはそりゃいかないが、言語/コンパイラとして変換をサポートしているのでC StringとNSStringよりは差がない
Stringに関してはそれほど困ることはないように思えるけどな
0493デフォルトの名無しさん2015/01/29(木) 23:28:16.42ID:lQw9npLj
>>491
iTunes Uの抗議は全部無料だよ
0494デフォルトの名無しさん2015/01/29(木) 23:29:38.10ID:KQpjaqDm
初心者にはありがたいねぇ

問題は英語ってことだ
0495デフォルトの名無しさん2015/01/30(金) 00:31:12.48ID:5aFqczel
>>492
何をした時か忘れたけど
NSStringを食うFramework APIにString渡してビルドエラー
はぁー?シームレスに使えるんじゃなかったのかよ、と憤慨したのは覚えてる
他のIntとかにもトラップありそうで戦々恐々しながらswift扱ってるわい
0496デフォルトの名無しさん2015/01/30(金) 00:35:14.73ID:6vb1GQ7+
>>495
そう?結構シームレスだけどな。C Stringも含めてw
何をしたときやねーんと気になるな。まあ、思い出したら教えてください。真摯に
0497デフォルトの名無しさん2015/01/30(金) 02:30:26.68ID:RDtdaN29
optionalで引っかかったんじゃね
0498デフォルトの名無しさん2015/01/30(金) 09:45:24.46ID:sSNe+aTs
>>497
その手の話だった気がするが!付けてもダメだったんだけかなぁ
でもoptionalなオブジェクト渡しても今は落ちるだけだし、思い出したり見つけたら伝えるよ
>>496も今伝えられなくてスマンな
0499デフォルトの名無しさん2015/01/30(金) 16:26:31.83ID:6vb1GQ7+
func hoge( arg: NSObject? ) {
NSLog("%@", arg) //コンパイル通りません
NSLog("%@",arg!) //クラッシュします
}
どないせっちゅうねーんっ!というのに似ているような。Optionalにまつわるメンドクサさであって….
( NSLog("¥(arg)") がSwiftでは正解 )
0500デフォルトの名無しさん2015/01/30(金) 16:28:03.42ID:j3Aclf8I
>>488
GJ

>>494
このセンセの英語の発音は聴き取り易い
0501デフォルトの名無しさん2015/01/30(金) 18:35:59.04ID:+BuiE/FM
>>499
それを常用してたら

var value : String? = "text"
var message = "key=\(value)"
NSLog(massage)

で、???てなるから過信が痛い(自業自得である
"key= text"じゃなく"key=Optional(text)" って何よって

var value : String? = "text"
if let v = value {
var massage = "key=\(v)"
NSLog(massage)
}

って真面目にやってる

var massage = "key=\(value!)"

だと value が nil だと落ちるし...
NSLogくらいならいいけどファイルログで集計時にカティンときた
0502デフォルトの名無しさん2015/01/30(金) 19:26:33.20ID:6vb1GQ7+
>>501
NSLog/デバッグプリントだからあれでええねんw

Optional/非Optionalがうぜーってことね。理解。俺は非Optionalなんていらんなw
0503デフォルトの名無しさん2015/01/31(土) 10:51:17.53ID:2+9KQkal
>>501
Swiftはコード量も実行速度もobjcに比べて悪そうだな
今さらswiftの実行速度低下なんぞ気にするべくもないが
0504デフォルトの名無しさん2015/01/31(土) 10:51:44.50ID:YMt5PyZL
>>488 >>500
また内容増えてるね
0505デフォルトの名無しさん2015/01/31(土) 11:32:19.80ID:YzWkWj5e
SwiftがObjCよりコード量増えるとか言うのは
ObjCでチャランポランな糞コード書いてましたって言ってるようなもんだろ
0506デフォルトの名無しさん2015/01/31(土) 13:30:23.31ID:kkQNEe7E
>>505
Optional()が付かないように>>501をobjcで書いてみ?

さておき
delegateとclosureとNSNotificationとapp内のパラメータ渡しが多様に至ってメンドイんだが
Cocoaと一緒に使える何かスマートな方法はないのか
0507デフォルトの名無しさん2015/01/31(土) 13:40:59.11ID:EHhs58Kx
>>503
あのコードでなんで?Objective-Cでも同じようなもんだと思うけどな

あのコードは俺には冗長に見えるから俺だったら三項演算子で済ますな
"key =" + (value == nil ? "nil" : value!)
また、nilを結果文字列の"nil"として得たい場合なんて無いから、Objective-Cでも同じようなコードにならざるを得ないという
0508デフォルトの名無しさん2015/01/31(土) 13:48:43.56ID:EHhs58Kx
>>506
あんたが一連のお人ならもちと勉強してからモノ言った方がいいと思うよw
ド素人なわけでもなさそうなんだから
0509デフォルトの名無しさん2015/01/31(土) 13:59:20.21ID:YzWkWj5e
501 は nil のとき出力しないコードになってるけど、それなら ObjC でも if 分岐は必要
コンパイラが指摘してくれる Swift の方が間違いがないし、他人に意図が伝わる

一方で nil でも何かしら出力するなら Swift なら断然簡単に書ける
"key=" + value ?? "nil"
このとき nil の場合の出力はもちろん任意
ObjC で %@ でフォーマット文字列つくると nil は "(null)" 固定
ObjC で任意の nil 出力をやろうと思うと面倒
NSString *message = [NSString stringWithFormat:@"key=%@", value == nil ? @"nilだよ" : value];


結論:どう見ても Swift の方が安全かつ表現力ありつつ簡潔なコード
0510デフォルトの名無しさん2015/01/31(土) 14:07:29.64ID:EHhs58Kx
>>509
>"key=" + value ?? "nil"
おおーっ!おおおおーっ!勉強になりました
0511デフォルトの名無しさん2015/01/31(土) 14:53:52.32ID:PdUfXz8W
>"key=" + value ?? "nil"
あっさり言語仕様変更で覆りそうな表記だなw
もういい加減ないのかねぇ、1.1から随分静かで怖いわ
■ このスレッドは過去ログ倉庫に格納されています