タグ

ブックマーク / yashigani.hatenablog.com (6)

  • 顕在化するmainBundleリスク - yashiganiの英傑になるまで死ねない日記

    iOS向けのアプリケーションやライブラリで画像やローカライズファイルなどのリソースを使うとき,bundleという仕組みを利用します. bundleはアプリケーションやライブラリに組み込まれ,実行時に各リソースファイルとの橋渡しをします. 例えば,ローカライズに使うNSLocalizedStringマクロはこのように定義されています. #define NSLocalizedString(key, comment) \ [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil] [NSBundle mainBundle]は実行中のアプリケーションbundleを返します. tableが実際に使用されるローカライズファイルですが,nilだとデフォルトのLocalizable.stringsが利用されます. NSLo

    顕在化するmainBundleリスク - yashiganiの英傑になるまで死ねない日記
    Nyoho
    Nyoho 2015/03/05
  • Cocoa勉強会関西でSwiftの型について発表しました #cocoa_kansai - yashiganiの英傑になるまで死ねない日記

    Swiftでコーディングしていると,型について色々と考えることがあります. 型の捉え方は学術的にも色々あるとおもいますが,このスライドは自分の経験から自分なりの捉え方なので,間違っていることや補足などあれば教えて下さい. スライドの補足 例に出しているResult<T>ですが,Swiftコンパイラの仕様でこのままではコンパイルすることができません. このような型に包んで,Result<Box<T>>型にするか,@autoclosureで包むとコンパイルが可能になります. class Box<T> { let value: T init(_ value: T) { self.value = value } } 反省 最初に大きな声で挨拶したらなんか気持ちがアガってしまって,異様なテンションでプレゼンしてしまった. 完全に傾きすぎた… 反響を紹介します 次の発表「型」とかタイトルがカッコイイ。

    Cocoa勉強会関西でSwiftの型について発表しました #cocoa_kansai - yashiganiの英傑になるまで死ねない日記
    Nyoho
    Nyoho 2015/03/01
  • Objective-Cが好きになるTips & Hackを勝手に補足 - yashiganiの英傑になるまで死ねない日記

    TLで見かけたこのスライド,いいところをついていてちょっとObjective-Cをやったことのある人が,もっと興味を持つきっかけを作るにはすごく良いスライドだと思った. Objective-C が好きになる Tips & Hack from Taketo Sano けど,内容を見た感じ初学者を対象としているわりに,ここで取り上げられているTipsやHackの負の側面に対するフォローが無い. 一応「やるかやらないかはあなた次第」とあるが,なぜというところが抜けているので初学者には判断できないと思う. 特に紹介されている例はあまり行儀の良い方針では無いように感じたので,これを初学者がそっくりそのまま真似をするのはあまりよろしくない. 反響も結構あるようで気になったので,勝手にこのTipsやHackの負の側面(行儀の良くない面)について補足をしておく. カテゴリメソッドの命名について このスライ

    Objective-Cが好きになるTips & Hackを勝手に補足 - yashiganiの英傑になるまで死ねない日記
  • Cocoa関西勉強会#54でTDDについて話してきました #cocoa_kansai - yashiganiの英傑になるまで死ねない日記

    最近TDDやってて意識高まりまくってるので,TDDについてCocoa勉強会関西#54でTDDについて発表してきました. 個人の感想レベルの発表なのでTDDモヒカンの方は斧をおさめてください. スライドはこちらです. スターお待ちしています. あと,サンプルに出した駅探索APIクライアントとテストコードですが,こちらに置いておきました. yashigani/HREClient · GitHub このAPIを叩くやつです.駅検索APIにしか対応してないから使えるかわからんけど一応podspecもつけておきました. XCTest/Kiwi/Spectaのテストがついてますので参考にどうぞ. KiwiとSpectaは同時にビルドできないので,試したいほうをpodfileで有効にして,いらないほうのテストはビルドから外してください. TDDをはじめた感想 参考までにTDDをはじめた筆者の様子を共有し

    Cocoa関西勉強会#54でTDDについて話してきました #cocoa_kansai - yashiganiの英傑になるまで死ねない日記
  • 最近はやってるNSLogの書き方 - yashiganiの英傑になるまで死ねない日記

    2014年のご時世になっても,やはりprintfデバッグはそのお手軽さとあいまってよく使われる. Objective-Cでの開発でもそれは御多分に洩れずそんな感じで,NSLogを埋め込んで変数の様子をコンソールに出力する. viewのheightなどを表示したいとき, CGFloat height = CGRectGetHeight(view.frame); NSLog(@"height = %f", height); なんてNSLogを書く. しかし,iOSの世界にもiPhone 5s が登場し,64bit環境が追加されてから,これが通用しなくなった. (OS XはSnow Leopardから64bit環境になってるからもうちょっと前からだけど) なぜなら, CGFloat The basic type for all floating-point values. typedef flo

    最近はやってるNSLogの書き方 - yashiganiの英傑になるまで死ねない日記
  • Cocoaの覚えておくと便利だと思う機能 - yashiganiの英傑になるまで死ねない日記

    [NSDate dateWithNaturalLanguageString:] 文字列からNSDate作るのはけっこうめんどうだけど,これを使えばNSDateFormatterなしに作れます,一度動作確認さえすればいいので,値のフォーマットが固定されている場合には有用です.(Macのみ) [NSArray lastObject] 返り値がNSArrayだけど,ひとつしか要素が入ってないことを見越している場合は,lastObjectが便利です.空の場合はnilが返ってくるので,空のArrayに対してobjectAtIndex:してしまってout of boundsになるというよくあるバグが発生することもありません. [NSArray componentsJoinedByString:] HTTPのクエリを作るときなど特定の文字列で区切ることのできる文字列を作るときはこのメソッドが便利です.N

    Cocoaの覚えておくと便利だと思う機能 - yashiganiの英傑になるまで死ねない日記
  • 1