awakeFromInsertの呼び出し方

NSManagedObjectの初期値の指定に、awakeFromInsertをオーバーライドして設定をするやり方があります。それの方法をメモしておきます。なお、このやり方はNavigation-based Applicationで作成されているエンティティに追加するものとします。

  1. NSManagedObjectを継承した、Eventクラスを新規作成する。
  2. Xcodeのデータモデル編集画面で、Eventエンティティを選択状態にする。
  3. 同画面で、Data Model Inspectorを表示させる(*1)。
  4. ClassにEventを入力する。
  5. EventクラスにawakeFromInsertを追加する(*2)。

以上で、Eventエンティティ新規作成時に、awakeFromInsertが呼ばれるようになります。

*1 Data Model Inspectorが表示されていない場合は、以下の方法で表示させることができます。

  • View->Utilities->Show Data Model Inspector
  • Option + Control + 3を押すか
  • Xcode右上のHide or Show the Utilities->Show the Data Model inspector

*2 Eventクラスの例

```--- Event.h ---
#import

@interface Event : NSManagedObject

@end

<pre><code><br />```--- Event.m ---
#import "Event.h"

@implementation Event

- (void)awakeFromInsert {
[super awakeFromInsert];
NSLog(@"awakeFromInsert is called.");
}

@end

この記事が役に立った場合、シェアしていただけると励みになります!!