2016-04-06 7 views
1

Code: -So erstellen Eigenschaft für BOOL Ziel c

@property (nonatomic, retain) BOOL val; 

Fehler: -

Property with ‘retain(or Strong)’ attribute must be of object type 

Ich möchte in einer anderen Klasse dieses Bool-Objekt verwenden. Ich schaffe es in .h-Datei

Antwort

2

BOOL ist ein primitiver Typ (also kein Zeiger, so dass keine Speicherverwaltung).

Sie erklären sich die Eigenschaft auf diese Weise:

@property (nonatomic) BOOL val; 

(auch explizit schreiben kann zuweisen statt stark/retain)

+1

Beachten Sie, dass dies für alle primitiven Typen gilt: Eigenschaften für ganze Zahlen, floats, structs und viele mehr müssen auf diese Weise deklariert werden. – Aaganrmu

+0

Danke es gelöst .. –

+0

Ihr letzter Satz in der Antwort macht keinen Sinn. Es muss * zuzuweisen sein. In der Tat ist 'assign' der Standardwert für Nicht-Objekt-Eigenschaften. – rmaddy

2

Verwenden Sie das assign-Attribut, das die Standard ohnehin für BOOL ist:

@property (nonatomic, assign) BOOL val;