Objective c iOS 4-将块用作类的成员
我希望有人能帮助我理解作为类成员使用的块的语法。我有一些代码实际上运行得很好:Objective c iOS 4-将块用作类的成员,objective-c,ios4,typedef,objective-c-blocks,Objective C,Ios4,Typedef,Objective C Blocks,我希望有人能帮助我理解作为类成员使用的块的语法。我有一些代码实际上运行得很好: @class Structure; typedef void (^StructureDeleteCallback)(Structure *); @interface StructureListDelegate : NRFCTableDelegate { StructureDeleteCallback _structureDeleteCallback; } @property (nonatomic, cop
@class Structure;
typedef void (^StructureDeleteCallback)(Structure *);
@interface StructureListDelegate : NRFCTableDelegate
{
StructureDeleteCallback _structureDeleteCallback;
}
@property (nonatomic, copy) StructureDeleteCallback structureDeleteCallback;
@end
这是可行的,但我想了解typedef
语句的语法;以及是否需要使用typedef
我所读到的内容表明,在这种情况下建议使用typedef
,因为它使代码更加清晰;但是,当我尝试在没有typedef
的情况下执行此操作时,我根本无法将其编译。我对typedef的理解是,语法基本上是:
typedef [actual type] [new name for type];
例如:
typedef double CLLocationDegrees;
但是我的typedef
语句的语法与此不匹配。因此,我的问题是:
- 我的
声明可能与其他声明大不相同typedef
statements/我使用的语法对编译器实际意味着什么typedef
- 有可能吗
将块作为类的成员
不使用
typedef
看看我的答案和答案。啊!我无法在不使用typedef的情况下让它工作,因为我没有意识到定义iVar的语法会完全不同。我想我还得有[typename][iVarName];所以我想澄清最后一件事。。。无论是在typedef中,还是仅仅声明一个块,基本上只是块的声明语法与其他类型不同吗?编译器只看到^符号,知道变量的名称在^之后,而不是像int x;?谢谢我不得不离开一会儿。再次感谢!