6

我希望有人可以帮助我理解用作类成员时块的语法。我有一些实际上运行良好的代码:

@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 与其他语句有何不同 typedef/我使用的语法实际上对编译器意味着什么?
  • 是否可以在不使用的情况下将块作为类的成员typedef
4

1 回答 1

7

我自己在这里问了一个与您类似的问题:Block references as instance vars in Objective-C

在这里这里查看我的答案。

于 2010-12-01T15:43:40.260 回答