2013-01-01から1年間の記事一覧

AutoLayoutメモ

IBで設定するIntrinsicSizeはPlaceholderを選択する事ができるが、実行時にそのサイズは反映されない Add Missing Constraintsは不要な制約も追加されるのでALを良く理解していないと扱いが難しい 上、左、幅、高さの制約のみをつけて行くと調整しやすい fra…

Google Maps SDK for iOS 1.6.1が出てますね

GoogleMapsSDK for iOSの1.6.1が出ていた。以下はリリースノート。 https://developers.google.com/maps/documentation/ios/releases?hl=ja1.6.1では以下の問題が修正されている様子。 ・Resolved a memory leak involving vector tiles. →メモリリークの修…

AFNetworking 2.0 Migration Guideを読みながらメモ

AFNetworking 2.0 Migration Guideを脱線メモしながら意訳中です。 AFNetworking 2.0 Migration Guide AFNetworking 2.0 is the next major release of AFNetworking, a delightful networking library for iOS & Mac OS X. As a major release, following S…

iOS開発のスモールチームに良さそうなBitbucket

2-3人でiPhoneアプリ開発を地味に進める中、 以下希望にマッチしたのでbitbucketを導入。 無料(2013/09/15時点で5ユーザーまで無料) 引き続き2-3人で利用予定 バグと簡単なタスクがチケット管理できれば十分 privateなGitリポジトリが必要 wikiも使いたい 公…

CoreData再学習_Appleのサンプルを読む_TaggedLocations

CoreDataがなかなか身に付かないので改めてAppleのサンプルコードを読んでます。 今回はTaggedLocationsを読んだので、気付いた事やクラスの依存関係をメモします。 ・どんなサンプル? イベントとタグを位置情報を紐づけて登録できるアプリです。 ・何が学…

コンビニエンスコンストラクタの初期化にはselfを使う

コンビニエンスコンストラクタを実装する時はselfを使う。 (例1) User : NSObjectクラスを初期化するコンビニエンスコンストラクタ + (instancetype)userWithName:(NSString *)inName age:(NSInteger)inAge { // 悪い例 //return [[User alloc] initWithName…

objcでinitの呼び出しを抑制する

カプセル化の破壊を抑える為setterは出来る限り使わず、 以下の指定イニシャライザの利用を推奨させたい時(initを呼べない様にしたい) - (id)initWithName:(NSString *)inName age:(NSInteger)inAge ヘッダにclang language extentionsを書けば[[Foo alloc] …

objcの関連参照でUIViewにプロパティを追加してみる。

objectivecの関連参照を試したのでメモ。 UIView拡張で試したサンプル(github) objcのカテゴリではインスタンス変数の追加はできない。 関連参照をつかえば疑似的に変数を追加できる。 必要な手順。 1. objc/runtime.hのインポート #import 2. 追加する変数…

RestKitを使う上の参考情報メモ

RestKitを使う上の参考情報メモ・ちょっと使うにはNImbusKit等と一緒でボリューミーな印象 ・更新頻度が高いので期待 https://github.com/RestKit/RestKit/graphs ・MagicalRecordsと一緒に使っているサンプル https://github.com/blakewatters/RKMagicalRec…

objective-cで確保したメモリサイズを調べる

objective-cで確保するメモリサイズについてのメモ sizeof演算子で変数型のサイズを表示できる。 以下はその例 // (c99ではzuでsize_t型を出力可能) printf("sizeof(short int) = %zu\n", (size_t)sizeof(short int)); sizeofの戻り値size_tは実装によってサ…

NSNumberを要素に持つNSArrayを使う際のメモ。

NSNumberを要素に持つNSArrayを使う際のメモ。 最頻出要素はNSCountedSetを利用。 参考: 最頻出要素の取得(stackoverflow) キー値コーディングプログラミングガイド // NSNumber配列を初期化 NSArray *numbers = @[@9,@4,@5,@1,@1,@17,@9,@6,@9]; // 昇順ソ…

Xcode4で途中からローカルgitを追加する。

既存プロジェクトにローカルgitを追加する方法のメモ ターミナルでxxx.xcodeprojのあるフォルダまで移動して以下コマンドを実行 git init gitignoreファイルを作成、追加する。 参考:Xcode 4で既存のXcodeプロジェクトからローカルGitリポジトリを作成するに…

Xcode4.6のSimulated Metricsについてメモ。

Xcode4.6における、Simulated Metricsについてメモ。StoryBoardでViewControllerを選択して、 Attributes InspectorをみるとSimulated Metricsというのがある。 これはあくまでStoryBoard上でのレイアウトを助けるもので、実行時には無視される。 参考:http:…

一日一度だけ何かする処理のメモ

パズドラをやった事はないですが、 一日一度だけアラートを表示する等の処理を、 UserDefaultsで作成してみたのでメモ。 (20131218微妙に修正)1.起動時にアラート表示日を保存 2.アラート表示日がなければアラート表示 3.アラート表示日が前回表示日と変わ…

非形式プロトコルのメモ

非形式プロトコルのメモ、あえて非形式を使う利点はなさそうだった 今は形式プロトコルでも@optionalで指定すれば実装は任意にできる。 実装を強制する場合は@requiredで指定する。 その方が明示的でわかりやすい Objective-Cプログラミング言語(Apple公式) …

データを管理するクラスを作ってみる。

基本かもしれないですが、UITableViewController内で使うデータアクセスのコードは、 データ管理クラスを間に挟むと、データ詳細を意識しなくて良いので使いやすくなります。 例えば、画面にこんな感じに魚データを表示する場合。 DataManagerというクラスを…

ターゲットを追加時にdyld`dyld_fatal_errorでクラッシュ

既存のXcodeプロジェクトにストターゲットを追加したらエラーでクラッシュした。 dyld`dyld_fatal_error: 0x8fe18070: int3 0x8fe18071: nopdyld: lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic_copy 【原因】 ターゲットを追…