iOS 4 - Verwendung von Blöcken als ein Mitglied einer Klasse
-
29-09-2019 - |
Frage
Ich habe gehofft, jemand könnte mir helfen, die Syntax von Blöcken zu verstehen, wenn sie als Mitglieder einer Klasse verwendet. Ich habe einige Code, tatsächlich arbeiten gerade fein ist:
@class Structure;
typedef void (^StructureDeleteCallback)(Structure *);
@interface StructureListDelegate : NRFCTableDelegate
{
StructureDeleteCallback _structureDeleteCallback;
}
@property (nonatomic, copy) StructureDeleteCallback structureDeleteCallback;
@end
Dies funktioniert, aber ich möchte die Syntax der typedef
Aussage verstehen; und ob oder nicht ist es tatsächlich erforderlich ist, um den Einsatz typedef.
Was ich habe, sagt gelesen, dass in dieser Situation mit typedef
wird empfohlen, da es den Code viel klarer macht; aber ich habe es nicht gelungen, es zu bekommen, überhaupt zu kompilieren, wenn sie versuchen, dies zu tun, ohne typedef
. Mein Verständnis von typedef war, dass die Syntax war im Grunde:
typedef [actual type] [new name for type];
Wie zum Beispiel:
typedef double CLLocationDegrees;
Aber die Syntax meiner typedef
Aussage bedeutet dies nicht überein. Also meine Fragen sind:
- Wie kann die Syntax meiner
typedef
Aussage sein, so unterscheidet sich von anderentypedef
Aussagen / Was bedeutet die Syntax ich meine bin mit tatsächlich an den Compiler? - Ist es möglich,
hat einen Block als Mitglied einer Klasse
ohne
typedef
?
Lösung
Ich selbst habe eine Frage nach dem Vorbild von Ihnen hier gefragt: Blockreferenzen wie zB vars in Objective-C