storyboardがコンフリクトした時のマージ手順メモ

storyboardがconflictした時のマージ手順メモ。 殆どここの通りGit-のブランチ機能-ブランチとマージの基本 ・masterと機能ブランチfooがある ・カレントディレクトリは機能ブランチfoo ・masterの最新状態を機能ブランチfooにマージしたい ・conflictした箇…

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 【原因】 ターゲットを追…

MagicalRecordのREADMEを意訳

MagicalRecordのREADMEの抜粋を意訳しつつメモ。 原文のREADMEはこちら ※20140930 MR_contextForCurrentThreadとMR_SHORTHANDが3.0で廃止される事を追記 逐次githubのissuesをご確認下さい。 目次 インストール方法 必要条件 いつ保存すれば良いか 長時間の…

CotEditorの正規表現スクリプトメモ(property->synthesize)

synthesizeが省略できる今となっては無用の長物ですが、 @propertyから@synthesizeを自動生成するCotEditor用のperlスクリプトを書いてあったので、 一応記載しておきます。 ・対象のobjc @property(nonatomic) BOOL isRun; @property(nonatomic) BOOL isFin…

CoreDataのエラーメモ

CoreDataのエラーメモです。・エラーメッセージ Cocoa error 134100 ・原因 アプリ起動後のEntityの追加等で既に存在するsqliteファイルと新しいxcdatamodeldの不整合でおこる。 ・解決策 アプリを長押しで削除した後、再実行 ・エラーメッセージ 英: An ins…

NSFetchedResultsControllerDelegateのセル削除ではまった

題のとおり、NSFetchedResultsControllerDelegateでのdeleteで1h程はまりました。 40秒位で読める程度の中身のなさです。【結論】 didChangeObjectの引数indexPathとnewIndexPathを書き間違えていた事。 単純かつエラーにならないので気づきにくかった。 【…

ボタンファクトリーを作ってみる(create button factory with objectivec)

こんばんわー、色々なボタンを作るとコードが汚くなるのでボタンファクトリー(factoryClass)を作ってみます。 デザインパターンに精通している訳ではないので、玄人の方は是非アドバイスを下さい。 【 参考 】 ファクトリメソッド(wiki) iPhoneのUIのスキン…

Objective-Cのブロック(Block)が苦手だけど少し覚えた過程

世間様はiPhone5でにぎわってますねー。 まだまだ勉強中の身なんですが、Objective-Cのブロック(Block)についてテクニック的な話ではなく、 自分がブロックを学ぶときどうしたか?というプロセスってほど大げさでもない手順を書きます。 [参考] Apple公式ブ…

Xcode5でLLDBデバッガコマンドを使ってみる

※キーウインドウ上の曖昧な制約を表示する、[UIWindow keyWindow] _autolayoutTrace]を追記 Xcodeのブレークポイントでプログラムを停止している時に入力できるコマンドです。 VisualStudioのイミディエイトウインドウライクに変数の値を変えられます。 値を…

2つのファイルの差分を比較したりマージしたりする。

WInMargeみたく比較をしたいと思って、TextWranglerを使ったらできたのでメモ メニューのSearch > Find Differencesを選択。 で、比較したい2つのファイルを「New」と「Old」にD&Dするか普通に選択します。 「compare」をすると差分が一覧で表示されます。 …

NSRangeの使い方

NSRangeとは?NSRangeはlocation(位置)とlength(長さ)の2つを持つ、"範囲"を表す構造体です。 文字列の検索、分割、切り出し等に重宝します。 ※2013/06/11 正規表現検索のサンプルを追加 例えば以下のようにrangeOfStringメソッドを使うと、 "列です"と…

CotEditorで動くスクリプトを作るには?

夏休みなのでCotEditorで動作するスクリプトを自前で作りたいなと思い立ちました。 以下を参考にやってみましたが、意外に結構迷いました。 ・CotEditorのスクリプトメニューでPHPを起動する方法(便利なサンプル3つ付き) http://creazy.net/2009/08/coted…

Eclipse for Macで良く使うショートカット

Eclipse for Macで使っているショートカットです。 Macとwindowsではだいぶキーが違うので備忘録です。 ショートカット一覧の表示command + shift + 「L」 はじめはこれを見ながら使いそうな機能を探すといいですね。 コード入力補完普通の補完 control + ス…

iPhoneアプリ開発でテストを試してみる。

少しずつ学習を進めているiPhoneアプリのテストについて書きます。今回は一番簡単に使えるSenTestingKitを使い、簡単な「足し算」メソッドを作って、テストを実行させるまでを試してみます。ボタンを押したりのテストはまだ試しませんが、 万が一やる気がで…