iOS 4 - 使用块作为类的成员

Gen*_*ari 6 typedef objective-c ios4 objective-c-blocks

我希望当用作类的成员时,有人可以帮助我理解块的语法.我有一些实际工作正常的代码:

@class Structure;
typedef void (^StructureDeleteCallback)(Structure *);

@interface StructureListDelegate : NRFCTableDelegate
{
    StructureDeleteCallback _structureDeleteCallback;
}

@property (nonatomic, copy) StructureDeleteCallback structureDeleteCallback;

@end
Run Code Online (Sandbox Code Playgroud)

这有效,但我想理解typedef语句的语法; 以及它是否真的需要使用typedef.

我读到的内容typedef是建议在这种情况下使用,因为它使代码更加清晰; 但是在没有尝试这样做的时候,我一直都无法进行编译typedef.我对typedef的理解是语法基本上是:

typedef [actual type] [new name for type];
Run Code Online (Sandbox Code Playgroud)

如:

typedef double CLLocationDegrees;
Run Code Online (Sandbox Code Playgroud)

但是我的typedef语句的语法与此不符.所以我的问题是:

  • 我的typedef 语句的语法如何与其他typedef语句如此不同 /我使用的语法实际上对编译器意味着什么?
  • 是否可以将块作为类的成员而不使用typedef

Jac*_*kin 7

我自己在这里问了一个问题:在Objective-C中将引用作为实例变量

在这里这里看到我的答案.