// JQ.h
// ブロック構文のプロパティを作る
// ブロックは自身と同一なクラスを返すようにする
// 引数はなんでも良い
@property (nonatomic, retain) JQ* (^call)(const char *);
// JQ.m
// たとえば自分に変更を加えたり、新しく作ったりして返す
- (JQ *(^)(const char *))call
{
JQ* (^method)(const char *) = (JQ *(^)(const char *))(^(const char *statement) {
[self add:statement];
return self;
});
return method;
}
- (void)somewhere
{
self.call("test1").call("test2").call("test3").call("test4").call("test5");
}
0 件のコメント:
コメントを投稿