Я надеялся, что кто-то может помочь мне понять синтаксис блоков, используемых в качестве членов класса. У меня есть код, который действительно отлично работает:
@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
?