定食屋おろポン

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

2014-06-01から1ヶ月間の記事一覧

SwiftでJSONを扱うライブラリ SwiftyJSON | json-swift

SwiftでJSONを扱う「つらみ」を解消するライブラリがトレンドにあがってたのでながめてみます。 つらみ SwiftでJSONを扱うとなったとき、まず頭に浮かぶのがFoundationフレームワークのNSJSONSerializationです。 JSONを渡すと、パースしてNSDictionaryやNSA…

Swiftのエラーハンドリング

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

Swift情報の収集方法

情報源メモ。初心者向けチュートリアルは他の記事に任せて、Swiftの情報がなんか気になって仕方がない人達のために書いた。 Appleの公式ドキュメント とりあえずここらへんは基本。 iBooks iTunes - Books - The Swift Programming Language by Apple Inc. …

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

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

Swiftでデバッグ出力(日時、メソッド名、行番号)

メソッド名と行番号 かつてObjective-Cではこのように書いていた時代があった。 NSLog(@"%s, %d", __PRETTY_FUNCTION__, __LINE__); 今日からはこう書ける!*1 println(__FUNCTION__, __LINE__) //=> (someFunction(), 60) Swiftのprintlnは、NSLogと違って…

Swiftでコマンドライン引数を取る

OS XのコマンドラインアプリをSwiftで作る時に役立ちます。どこにあるんだそんな需要。*1 StackOverflowではC_ARGCを使う方法が示されています。 これでも良いと思いますが、ちょっと冗長ですね。 osx - How do you access command line arguments in Swift?…

swiftでフィボナッチ数列

フィボナッチ数列を再帰で(遅いやつ) func fib(n:Int) -> Int { if n < 1 {return 0} if n == 1 {return 1} return fib(n-1)+fib(n-2) } func fibs(n:Int) -> Int[] { if n == 0 {return []} if n == 1 {return [1]} return fibs(n-1) + [fib(n)] } printl…

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 "…