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

Swift part2

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

Apple Developer
https://developer.apple.com/swift/
Welcome to Swift
https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/
iBooks: The Swift Programming Language
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
書籍の形にはなってないけどドキュメント
The Swift Programming Language
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
今のところbeta版のXcode 6がSwift対応らしい
https://developer.apple.com/xcode/downloads/

関連スレ
TypeScript(MS) VS Swift(Apple)
http://peace.2ch.net/test/read.cgi/tech/1401758403/

前スレ
Swiftスレ
http://peace.2ch.net/test/read.cgi/tech/1401736341/
0175デフォルトの名無しさん2014/06/20(金) 20:47:10.84ID:DSYIvwNi
http://ja.wikipedia.org/w/index.php?title=Swift_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)&diff=prev&oldid=51929060

ゆうちゃんの売名意欲はんぱない
0176デフォルトの名無しさん2014/06/20(金) 20:51:35.67ID:CCZRVeL/
>>175
30分経たずに取り消されててワロタw
0177デフォルトの名無しさん2014/06/20(金) 21:07:33.19ID:IQz8StZM
https://ja.wikipedia.org/wiki/%E6%BF%B1%E7%94%B0%E5%84%AA

右上の業績欄で吹くww
0178デフォルトの名無しさん2014/06/20(金) 21:19:13.04ID:M/JwZqVI
>>174
C#はこう書ける
var list = new{new{days=31,month="Jan},new{days=28,month="Feb"},new{days=31,month="Mar"},new{days=30,month="May"},new{days=31,month="May"}};
foreach (var t in list.OrderBy(x => x.days))
 Console.WriteLine(t);
あるいはこんなことも
var dic = new Dictionary<int, String> {{31,"Jan"},略,{31,"May"}};
foreach (var t in
 from t in dic
 orderby t.Key
 select new { days=t.Key, month=t.Value })
 Console.WriteLine(t);
0179デフォルトの名無しさん2014/06/20(金) 21:27:54.81ID:CCZRVeL/
>>177
Swift-jpアカウントで追加したリンクが消されててワロタ
0180デフォルトの名無しさん2014/06/20(金) 22:46:31.47ID:0PgNV7xO
 
Wikipediaって、誰でも自己紹介書いていいのか?
0181デフォルトの名無しさん2014/06/20(金) 22:48:16.71ID:DSYIvwNi
書いちゃダメだろ、つうか書こうとも思わないだろ普通
0182デフォルトの名無しさん2014/06/20(金) 22:56:33.10ID:4Z5Rc51b
>>180
http://ja.wikipedia.org/wiki/Wikipedia:%E8%87%AA%E5%88%86%E8%87%AA%E8%BA%AB%E3%81%AE%E8%A8%98%E4%BA%8B%E3%82%92%E3%81%A4%E3%81%8F%E3%82%89%E3%81%AA%E3%81%84
0183デフォルトの名無しさん2014/06/20(金) 23:33:58.00ID:kEPVLal9
>>180 ダメだよ。 個人的な事や宣伝目的な物は削除対象。 誰か削除依頼出せよ。
0184デフォルトの名無しさん2014/06/21(土) 00:25:46.40ID:+flxE0eC
@濱ちゃん
Swift言語の簡易リファレンスを纏めたチートシートcdn2.raywenderlich.com/wp-content/upl…
2014年6月04日 - 3:38pm
0185デフォルトの名無しさん2014/06/21(土) 00:40:00.78ID:kku3Zr/2
濱ちゃん、アウトぉ!
0186デフォルトの名無しさん2014/06/21(土) 01:24:05.68ID:jGMnyNE3
あまちゃんのははまちちゃんが書いたからセーフなのか
内輪だけど
0187デフォルトの名無しさん2014/06/21(土) 01:30:26.51ID:JBSU6pk5
濱ちゃんって架空のキャラがswift解説する本出せばワンチャンある
0188デフォルトの名無しさん2014/06/21(土) 01:35:52.89ID:5/17O7zj
この人も自身が運営するCaveTubeを自分で登録して削除されてたな
https://twitter.com/madogai
0189デフォルトの名無しさん2014/06/21(土) 04:53:39.17ID:qifWmRUG
functionの引数でexternal nameとlocal nameが設定できるけど別々の名前にするメリットって何ですか?
0190デフォルトの名無しさん2014/06/21(土) 05:59:44.67ID:qifWmRUG
このサンプルコードを見てなんとなく使い所が分かりました

struct Point {
var x = 0.0, y = 0.0
mutating func moveByX(deltaX: Double, y deltaY: Double) {
x += deltaX
y += deltaY
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveByX(2.0, y: 3.0)

でもこれなら個人的には
func moveByX(x: Double, y: Double) {
self.x += x
self.y += y
}
って書く方がすっきりしてる様に思いました。好みですかね?
0191デフォルトの名無しさん2014/06/21(土) 07:06:22.95ID:Gm5EhJPM
>>189 external parameter name を付けるとバラメータの意味をはっきりさせ、理解しやすくなる。

例 func 探す( 文字列: String , 文字: character )
と解りやすく書いておいたつもりでも、呼び出し元が

探す( a , b )
探す( "abcdefg" , "c" )
では意味が解りにくい。

func 探す( 元文字列 文字列: String , 探索文字 文字: character )
或いは
func 探す( #元文字列: String , #探索文字: character )
としておけば

呼び出しは解りやすくなる。
探す( 元文字列: a , 探索文字: b )
探す( 元文字列: "abcdefg" , 探索文字: "c" )
0192デフォルトの名無しさん2014/06/21(土) 07:23:30.52ID:Gm5EhJPM
>>190 その理解は多分間違っている。
上の例は、Objective-C の書き方でexternal nameをつけてる例。
swift 流に上の例を書き直すと、
finc moveBy( x deltaX: Double , y deltaY: Double )
moveBy( x: 2.0 , y: 3.0 )

2番目は、たまたま外側の名前の、x , yをパラメータに使ってるが、ローカル名で却って解りにくくなる。

2番目を呼出すと、
moveByX( 2.0 , 3.0 )
数字の意味が解らなくなる。
0193デフォルトの名無しさん2014/06/21(土) 08:52:29.04ID:eLk4E9G5
外から見るWWDC 2014キーノート――Swiftに感じるAppleの本気
http://www.atmarkit.co.jp/ait/articles/1406/19/news012_2.html

個人的にも一番感心したのは、やっぱり新言語Swiftの発表でした。
ここ数年Mac、iOS系の開発から遠ざかっていて、最新のObjective-C文法などにも疎くなっていたので、
そろそろ勉強し直さないといけないなぁと本気で危機感を感じていたところに、
Appleからリセットボタンを押された気分です(笑)。

あらためてiOSアプリを開発したいなと肩を押された気がしているデベロッパーは
僕だけではないと思います。

興味深いのは、通常、Swiftのような新言語が発表されると、
従来の言語に慣れ親しんだユーザーからは賛否両論の議論が湧き上がるのですが、
今回のSwiftに関しては、かなりポジティブな意見が目立つように見えます。
こうした反応を見ていても、Swiftがいかに今時の言語をよく研究して、
良い所取りをして開発されたのかが見える気がします。
0194デフォルトの名無しさん2014/06/21(土) 08:56:03.29ID:6ZbZYmYu
◎2chスレッド勢いランキングサイトリスト◎

★+ニュース板
・ 2NN (推奨サイト)
・ 2chTimes
★+ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
★+ニュース板その他
・ Desktop2ch
・ 記者別一覧
★全板
・ 全板縦断勢いランキング (推奨サイト)
・ スレッドランキング総合ランキング
・ ログ速
★全板実況込み
・ 2勢 (推奨サイト)
・ READ2CH
・ i-ikioi

※ 要タイトル検索
※ 2chブラウザ併用推奨
0195デフォルトの名無しさん2014/06/21(土) 21:00:36.35ID:qifWmRUG
>>192
こう書けたら分かりやすかったのにと思います。
struct Point {
var x = 0.0, y = 0.0
mutating func moveBy(x: Double, y: Double) {
self.x += x
self.y += y
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveBy(x: 2.0, y: 3.0)

実際は以下のようにxの方だけ#を付けないとエラーが出てしまいます。
func moveBy(#x: Double, y: Double)
1つ目の引数だけ扱いが違うのがちょっとややこしいです。

もしくは例に挙げてもらったこれ
func moveBy(x deltaX: Double ,y deltaY: Double)
手間は少し増えるけどミスは減りそうです。
0196デフォルトの名無しさん2014/06/21(土) 21:01:54.05ID:tQVBpUxD
linuxで開発できないからクソだな
ガラパゴス言語4ね
0197デフォルトの名無しさん2014/06/21(土) 21:03:55.24ID:qifWmRUG
結局、メリットは分かりやすくなるって事ですね。
0198デフォルトの名無しさん2014/06/22(日) 01:33:00.56ID:pfgiPEoY
>>195 structやclass 内の func は例外で第1パラメータと第2パラメータの扱いが特殊ですね。
一般記法と混同しないように、第2パラメータには外部パラメータ名を付けるように書くのが良いみたいです。
そして第1パラメータ名を関数名の最後につけるのが流儀のようですね。 Objective-Cに合わせたのでしょうが美しくないですね。

struct Point {
var x = 0.0, y = 0.0
mutating func moveByX(x: Double, y y: Double) {
  self.x += x
  self.y += y
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveByX(2.0, y: 3.0)
0199デフォルトの名無しさん2014/06/22(日) 01:57:21.67ID:CiHQU1Qw
ガラパゴスで有り続けて欲しいね
0200デフォルトの名無しさん2014/06/22(日) 02:07:55.97ID:m6loeTNZ
struct Point {
var x = 0.0, y = 0.0
mutating func moveBy(x: Double, y y: Double) {
  self.x += x
  self.y += y
}
0201デフォルトの名無しさん2014/06/22(日) 14:02:15.67ID:JSmk+G44
goとそっくりだね。
互換性のあるとこだけで書けば、
goとソース互換なんじゃね?
0202デフォルトの名無しさん2014/06/22(日) 14:06:38.79ID:LFHoiLVx
そっくりではない
微妙に違ってる
0203デフォルトの名無しさん2014/06/22(日) 14:17:51.27ID:65iLGPB8
>>202
解ってるよ。
その微妙な違いさえ回避できれば互換性を保てるってことよ。
0204デフォルトの名無しさん2014/06/22(日) 14:38:25.92ID:65iLGPB8
>>192
こういう事かえ?

/* Swift */
point.moveBy( X: 1, Y: 2 )

/* Objective-C */
[ point moveByX: 1 Y: 2 ];

"Smalltalk"
point moveByX: 1 Y:2.
0205デフォルトの名無しさん2014/06/22(日) 15:10:04.67ID:wFLrKJry
>>203
型の指定の仕方の時点で違うから回避できないだろ
0206デフォルトの名無しさん2014/06/22(日) 15:23:29.20ID:2jURMw15
// Go
type string String
func Tag( name String ) String {
 var tag String = "<" + name + "/>"
 return tag
}

// Swift
func Tag( name :String ) -> String {
 var tag :String = "<" + name + "/>"
 return tag
}
0207デフォルトの名無しさん2014/06/22(日) 15:42:53.56ID:0vkagaTc
ー>って矢印を模した表記は厨臭いからやめたほうがいいよ
ベータだしまだ仕様変えられるだろ
いちいちシフト打鍵が必要でタイプ数も増えるしいいこと無い
0208デフォルトの名無しさん2014/06/22(日) 15:44:40.34ID:iuL+D4vh
ruby厨乙
0209デフォルトの名無しさん2014/06/22(日) 15:52:08.83ID:CVWWoFqE
rubyは->(){}があるから・・・
0210デフォルトの名無しさん2014/06/22(日) 15:57:25.29ID:NV1BDSQb
戻り値をそこに書くのが今風なのかのう
0211デフォルトの名無しさん2014/06/22(日) 16:06:46.64ID:rW+mKnZ0
>>207 言語仕様が今更変わる訳が無い。 今風で解りやすくて良いだろ。
0212デフォルトの名無しさん2014/06/22(日) 16:22:09.18ID:MNXrUkEo
/* C++ */
auto Tag( const std::string name ) -> std::string
{
 std::string tag = "<" + name + ">";

 return tag;
}

戻り値を型を省略出来るようにした言語の宿命なんだろ。
0213デフォルトの名無しさん2014/06/22(日) 16:31:13.55ID:tNIRX/kG
//go
function := func() {};

// swift
var function = func() {};

// C++
auto function = [](){};
0214デフォルトの名無しさん2014/06/22(日) 16:55:19.24ID:M4OuaEw5
->を使ったり、戻り値を後ろに書いたりするのは、例えば
「文字列を引数にとって文字列を戻す関数」を引数にとって「文字列を引数にとって文字列を戻す関数」を戻す関数
なんていうのを記述しようとしたときのわかり易さに大きく影響すると思われ
0215デフォルトの名無しさん2014/06/22(日) 17:15:55.50ID:LtMDfcfl
単に無名関数の戻り値型を省略や推論させるための都合だよ。
他の宣言も型が後ろに来るのは、無名関数に合わせてるだけ。
0216デフォルトの名無しさん2014/06/22(日) 17:38:44.43ID:mgZTcG6H
ソースの互換性にこだわるひとって
HTML 中に PHP と javascript 埋め込むくらいの気持ち悪さを感じる
0217デフォルトの名無しさん2014/06/22(日) 17:45:50.87ID:iuL+D4vh
python厨乙
0218デフォルトの名無しさん2014/06/23(月) 10:19:24.43ID:v8LgD0QE
インスタンス変数に直接アクセスできないの気持ち悪い。
やるべきじゃないのかも知れないけど、Qiotaで誰かが書いてたみたいに
例えばゲッタを呼び出すたびにインクリメントされるプロパティとか書けない。
別途インスタンス変数を用意してcomputational propertyとして定義するとか、筋の悪い書き方になる。
そうやったとしてもアクセス指定子もないから元のプロパティに直接アクセスできちゃうし。
どうしてこんなことになったんだ
0219デフォルトの名無しさん2014/06/23(月) 10:36:40.08ID:k0C4cCbl
>>218 こういう事?
http://qiita.com/Lewuathe/items/63801688817c38614cf4
0220デフォルトの名無しさん2014/06/23(月) 10:59:07.21ID:IjFKX6YY
アクセス指定子はやるって言ってるんだから待ってれば

_付きで宣言したら自動的にprivateになればいいなぁ
0221デフォルトの名無しさん2014/06/23(月) 11:45:05.55ID:knxG2Zrc
protectedは?
0222デフォルトの名無しさん2014/06/23(月) 12:40:13.55ID:2Cm/+3gI
>>218
それってObjective-Cでもやってる事はcomputed propertyでしょ。auto synthesizeが効いてて自分で_hogeを宣言する必要がないだけで実質同じじゃない?
0223デフォルトの名無しさん2014/06/23(月) 12:42:50.21ID:2Cm/+3gI
全てがpublicな変数になっちゃうのはprivateを実装する予定だとフォーラムかどこかで見た気がする。
0224デフォルトの名無しさん2014/06/23(月) 12:53:19.14ID:knxG2Zrc
呼び出すたびにインクリメントする処理はクロージャを使えば簡単にかける

func makeCounter() -> () -> Int {
var count = 0;
return {
++count
}
}

let c = makeCounter();
println(c()) // 1
println(c()) // 2
println(c()) // 3
0225デフォルトの名無しさん2014/06/23(月) 12:59:36.86ID:zCax8W1Q
javascript の方が判り易いかも
0226デフォルトの名無しさん2014/06/23(月) 13:25:30.45ID:rcMzefHm
linuxでswiftできるほうほうをおしえて
0227デフォルトの名無しさん2014/06/23(月) 13:28:49.27ID:zETqdp8T
VNC
0228デフォルトの名無しさん2014/06/23(月) 13:59:22.51ID:k0C4cCbl
VMWARE
0229デフォルトの名無しさん2014/06/23(月) 14:11:58.69ID:IjFKX6YY
>>226
http://swift-lang.org/main/
0230デフォルトの名無しさん2014/06/23(月) 16:08:46.48ID:k0C4cCbl
>>223 beta2 リリースノート

• Access control (public/private members) is not enabled in this seed.
• It is not possible to build static libraries which contain Swift code in this release.
0231デフォルトの名無しさん2014/06/23(月) 16:33:17.77ID:v8LgD0QE
>>219
てかそれだよ、俺が見たのは
>>222
1つのことやるのに2つプロパティを作るのが気持ち悪い
名前も別々につけなきゃいけないし
0232デフォルトの名無しさん2014/06/23(月) 16:37:33.87ID:knxG2Zrc
ゲッタ内で更新処理を書くのも気持ち悪いよね
0233デフォルトの名無しさん2014/06/23(月) 17:09:38.07ID:IjFKX6YY
副作用的で嫌な気もするな
ObjCでゲッタに書く処理といえば遅延初期化が典型的だったけど、それは@lazyでできる
他にゲッタで値を変える必然性のあるケースって何かあるだろうか
0234デフォルトの名無しさん2014/06/23(月) 20:07:54.04ID:bY8lx62F
値は変えることはよいし
自分自身を呼び出したら無限ループするのもあたりまえ
0235デフォルトの名無しさん2014/06/23(月) 22:44:10.74ID:yZxj5sEO
メソッドの+-ヘッダや[ ]記法、好きだったのになぁ。。
0236デフォルトの名無しさん2014/06/23(月) 22:45:58.55ID:knxG2Zrc
いや、Obj-Cもなくなるわけじゃないから
0237デフォルトの名無しさん2014/06/23(月) 22:52:46.74ID:yZxj5sEO
while(YES) {
[Objective-C retain];
}
0238デフォルトの名無しさん2014/06/23(月) 23:38:38.48ID:BKKkXYpe
>>232

Object
 subclass: #Example
 instanceVariableNames: 'value'
 classVariableNames: ''
 poolDictionaries: ''
 category: 'Example'.

! Example methodsFor: 'Accessing' !
value
 ^ value ifNil: [ value := 0 ].
!
value: aNumber
 value := aNumber.
!!

Accessingで値を取り出す時値を書き換えるってのは、割りと古典的な方法なんだけどね。
objectが重要じゃなくて値が重要って場合は別解としてこういう使い方もあるけど。

! Example methodsFor: 'Accessing' !
value
 ^ value ifNil: [ 0 ].
!
value: aNumber
 value := aNumber.
!!
0239デフォルトの名無しさん2014/06/24(火) 00:13:09.22ID:o+ts05fh
何故いきなりSmalltalk書き出した?
0240デフォルトの名無しさん2014/06/24(火) 00:16:28.10ID:o+ts05fh
つか、遅延初期化ならSwiftは@lazy属性で指定できるよ
0241デフォルトの名無しさん2014/06/24(火) 00:21:29.84ID:nsfoMIba
>>239
古典的だから
0242デフォルトの名無しさん2014/06/24(火) 09:52:46.32ID:AAHBTYvg
GOCHA!
0243デフォルトの名無しさん2014/06/25(水) 21:58:00.07ID:79R/fCgL
レスがめっきり減ったな
Swiftもそろそろオワコンか
0244デフォルトの名無しさん2014/06/25(水) 22:26:41.23ID:8AOeuyaK
Appleで閉じたベータ版ならこんなもんでは
信者混じりの初速がおかしかっただけでしょう

アクセスコントロールはよ
シングルトン書きにくくてもにょる
0245デフォルトの名無しさん2014/06/25(水) 22:55:47.78ID:yyfslmCP
シングルトンはEnum使えばいいんじゃね
0246デフォルトの名無しさん2014/06/25(水) 23:18:47.49ID:79R/fCgL
???
0247デフォルトの名無しさん2014/06/26(木) 00:50:20.58ID:ifBtr7TR
enum < ふえぇ…拡張されたといってもそんな太いの無理…
enum < …いゃぁっ!! やっぱり無理だようっ、まだ列挙子だもん、デザパタなんて入らないよぅぅっツ!!
enum < うぅ…ま、満足してくれた? アクセス制御ちゃんが来てくれないからって…無理しちゃいけないよ…はぅ…

なんでもない
今、近場の病院をググってる所だ安心しろ
0248デフォルトの名無しさん2014/06/26(木) 06:00:34.87ID:fv8mroUT
そうか
0249デフォルトの名無しさん2014/06/26(木) 23:33:31.01ID:BVAAIzQv
>>244
いい加減Singleton卒業しろよ。
保守しづらくてたまらんわ。
0250デフォルトの名無しさん2014/06/26(木) 23:39:50.30ID:WAwEPjdj
Singleton卒業した後は、どこに入学したらいいですか?
0251デフォルトの名無しさん2014/06/26(木) 23:42:07.98ID:qPqjUHLv
グローバル変数
0252デフォルトの名無しさん2014/06/26(木) 23:59:18.79ID:BVAAIzQv
真面目な話Monostate pattern。
Singletonと違ってMonostate patternで
作ったclassのobjectは
他のclassのobjectと置き換えが容易。
並列処理を新たに追加する場合や、
複数のobjectが必要になった場合なんかは特に助かる。
0253デフォルトの名無しさん2014/06/27(金) 00:49:08.49ID:9hXQR0vq
モノステートで済む場所ならよく書いてるけど多態絡むとね
つか置き換え要求があり得るならばシングルトン一択では?
多分お互いの考えてる想定ケースが違うんだろうけど

続く二行がなおのこと意味不明
最後のなんか、そもそもシングルトンもモノステートも適用しちゃいかんだろ
0254デフォルトの名無しさん2014/06/27(金) 00:54:10.86ID:CRdQJr4Y
語ってみたかっただけだろ
0255デフォルトの名無しさん2014/06/27(金) 01:25:11.37ID:6uE5vYGa
いよいよ脱アルゴリズムの時代きたか
0256デフォルトの名無しさん2014/06/27(金) 01:28:29.47ID:bk/xChkn
我らがObj-Cはいづこへ…(´・ω・`)
0257デフォルトの名無しさん2014/06/27(金) 06:16:05.51ID:/tBLbKnn
>>256
オブジェクト指向は愚かな考え。
http://peace.2ch.net/test/read.cgi/tech/1393660194/
0258デフォルトの名無しさん2014/06/27(金) 07:58:35.16ID:bmd/FTib
>>250
時代はDI(Dependency Injection)だよ。
疎結合になって保守しやすいし、テストも書きやすくなる。
ていうか、Javaの世界ではとっくにDIが当たり前だから。
いまだにフレームワークでもSingletonなんて使ってるのはObj-Cだけ。
0259デフォルトの名無しさん2014/06/27(金) 08:13:09.44ID:3Ogs4WPv
シングルトンがカスなのは同意するが、スマホアプリ程度でDIなんぞ要らん
0260デフォルトの名無しさん2014/06/27(金) 08:32:48.24ID:jMn+w+Bh
Objective-CでSingleton使ってるやつってどんなのがあったけ?
0261デフォルトの名無しさん2014/06/27(金) 09:51:17.33ID:CmsfI9Sw
DI って、ただのprotocol使ったdelegateじゃね?
0262デフォルトの名無しさん2014/06/27(金) 10:05:50.14ID:BbQZN6SM
Objective-Cは言語仕様改定で機能を+1してくんじゃなくて
オブジェクト指向だったらなにが必要かって
考えたオブジェクト指向フレームワークの中身がCって形だから
書き方が冗長になる以外は「最近の言語の新機能だぁ!」
みたいなのだいたい再現できるよね。
0263デフォルトの名無しさん2014/06/27(金) 10:49:17.65ID:iTSjXKIw
>>260
sharedFoo とか defaultBar とか
0264デフォルトの名無しさん2014/06/27(金) 12:57:01.86ID:cQ+q76Vp
>>263
そんなもん存在せんぞ
0265デフォルトの名無しさん2014/06/27(金) 13:04:18.24ID:5Q+HtdSG
NSUserDefaultsとかUIApplicationとかUIDeviceとかNSFileManagerとか
0266デフォルトの名無しさん2014/06/27(金) 13:23:23.08ID:cQ+q76Vp
>>265
shareFooやdefaultBarで検索してもそんなもん出てこない。
0267デフォルトの名無しさん2014/06/27(金) 13:27:17.30ID:5Q+HtdSG
>>266
お前がそう思うんならそうなんだろうな
お前の中ではな
0268デフォルトの名無しさん2014/06/27(金) 13:49:32.26ID:W1qQ5+Xl
グローバル変数で十分
0269デフォルトの名無しさん2014/06/27(金) 17:00:40.07ID:iTSjXKIw
>>266
本気で言ってそうでヤバいなお前
0270デフォルトの名無しさん2014/06/27(金) 17:23:52.29ID:pR5dE5tV
>>268
どうやってグローバル変数でシングルトンの代わりをするんだよ
0271デフォルトの名無しさん2014/06/27(金) 17:25:27.50ID:CRdQJr4Y
ブヒー
0272デフォルトの名無しさん2014/06/27(金) 20:50:53.32ID:02IBmcrS
>>270
そういうセリフは、シングルトンをグローバル変数の替わり以外で使ってる人だけが言うべき
0273デフォルトの名無しさん2014/06/27(金) 21:04:07.92ID:RdmQ7muW
厶板はFoo Bar Hoge禁止なのを未だ知らんヤツがいるとは。
新参か?
0274デフォルトの名無しさん2014/06/27(金) 21:10:17.31ID:GbdV8FAO
>>265
NSUserDefaultsとNSFileManagerはシングルトンじゃないよ
■ このスレッドは過去ログ倉庫に格納されています