定食屋おろポン

おろしポン酢と青ネギはかけ放題です

swift

SwiftでNSTimerとかUIButtonを使うときはBlocksKit使うといいよ

Cocoaでは、引数にtargetとselectorを取るメソッドがいくつかありますね。 NSTimerの+ scheduledTimerWithTimeInterval:target:selector:userInfo:repeats: UIControlの- addTarget:action:forControlEvents: こういうメソッドを、純粋なSwiftのクラス--つま…

Swiftのアクセスコントロールはファイル/モジュール単位だから気ィ付けや

公式ドキュメントはこちら The Swift Programming Language: Access Control ※ドキュメント以上のことは記載されていません。 SwiftにもXcode beta4からアクセスコントロールが可能になりました。 privateとかpublicとかinternalといった修飾子を付けること…

Swift時代のDelegate通知

Objective-C時代のDelegate 今は昔、Objective-Cの時代ではOwnerへの通知にDelegateを使用していました。 言語仕様としてDelegate機構が用意されているわけでも、Delegateは通知のための機構であるというわけでもなく、CocoaフレームワークでDelegateパター…

Swiftのエラーハンドリング

Objective-Cにおいては、「Exceptionは処理するな」が鉄則です。 つまり、 「例外を投げるのは致命的な問題(復旧不可能な問題)が発生したときのみ」 「例外を受け取ったらアプリを終了させろ」 というポリシーです。 これは、そもそも例外を受け取ってキャ…

Swiftのmapは処理だけしてVoid返すことは出来ないから気ィ付けや

追記 この記事の情報は古いので注意して下さい。 最新のXcodeでは、mapに返り値を持たないクロージャを渡しても問題ありません。 追記ここまで SwiftのArrayは、非破壊的なメソッド、mapを持っています。素晴らしい。 enumerateObjectsUsingBlock:とか書いて…

swiftでfizzbuzz

とりあえずfizzbuzzを書いてみる。 func fizzbuzz (#max: Int) { func fb(n:Int) -> String { let isFizz = n % 3 == 0 let isBuzz = n % 5 == 0 switch true { case isFizz && isBuzz: return "fizzbuzz" case isFizz: return "fizz" case isBuzz: return "…