2010-07-07 14 views
9

Ich habe gerade angefangen mit Core Data zu spielen.Attribut namens 'Beschreibung' verursacht Absturz

Ich erstellte eine Entität mit der Bezeichnung Aufgabe mit einer Eigenschaft namens Beschreibung. Ich öffnete Interface Builder und fügte Core Data Entity Ansicht hinzu.

Wählte meine Entität, Eigenschaft und versuchte, die Anwendung zu erstellen. Nach dem Klicken auf "Hinzufügen", stürzte es mit EXC_BAD_ACCESS ab.

Nachdem ich dieses Attribut in 'desc' umbenannt habe, funktioniert es gut.

Kann mir jemand erklären, warum passiert das? Ist 'Beschreibung' eine Art reserviertes Wort in Core Data oder etwas?

Antwort

19

description ist eine Objective-C-Eigenschaft, die zum Debuggen verwendet wird, und geht bis auf Core Foundation, die eine entsprechende CFDescription-Funktion hat. Sie sollten diese Eigenschaft nur etwas anderes nennen.

+1

Mehr Kakao als Objective-C, aber ja. –

+2

Es ist Methode von NSObject. Alle Klassen, die von NSObject erben (das ist praktisch alles) erben die Methode. Es erzeugt eine textuelle Beschreibung des Objekts für Debugging-Zwecke. Wenn Sie ein Objekt mit 'NSLog (@"% @ ", anObject) protokollieren, ruft es die Beschreibungsmethode auf. – TechZen

+0

Ich habe zuerst Cocoa geschrieben und dann nach Objective-C geschnitten, also hätte ich es so lassen sollen, wie es war. – lucius

6

Es ist eine Methode mit einem bestimmten Zweck in Cocoa, und Kerndaten mögen es nicht überschrieben werden. More here.

+0

+1 für den Doc-Link – JeremyP

Verwandte Themen