読者です 読者をやめる 読者になる 読者になる

NSCodingを自動で書いてくれるXcodeプラグイン

を、作ってみました。
試作段階なのでじっくり動作確認したわけではありませんが、何度か自分で使ってみた感じでは問題ありませんでした。

使い方

NSCoding プロトコルのメソッドを自動生成してみます。
雑ですが例としてこんなコードを用意しました。

MyObject.h

#import <Foundation/Foundation.h>

@interface MyObject : NSObject

@property (nonatomic, copy) NSString *name;
@property (nonatomic, assign) NSInteger index;
@property (nonatomic, assign, getter = isValid) BOOL valid;
@property (nonatomic, strong) NSDate *createdDate;

@end

MyObject.m

#import "MyObject.h"

@implementation MyObject

@end

対象のファイルを開いた状態で、Xcode の Edit > Auto Coding > Conform to... > NSCoding を選びます。

f:id:questbeat:20131101030759p:plain

こんなシートが出てくるので、使いたくないプロパティがあればチェックを外してください。
Corresponding Variable は encode/decode に使用するキーで、自分の好きな値に変更できるようになっています。
親クラスが NSCoding プロトコルを採用している場合は下のチェックボックスにチェックを入れてください。

f:id:questbeat:20131101030819p:plain

OKを押すとこんな感じのコードが生成されます。

f:id:questbeat:20131101030835p:plain

また、オマケとして description メソッドを生成する機能もついてます。

f:id:questbeat:20131101030845p:plain

注意

正規表現を使った恐ろしい構文解析によって動いているので、予想外の動作をする可能性があります。
必ず修復可能なファイル(バージョン管理下に置かれているものなど)でお使いください。
もちろん何があっても一切の責任は負いかねます。

ダウンロード

※ダウンロードした AutoCoding.xcplugin を ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins に置いて Xcode を再起動してください