Я перемещаю свои начальные шаги в область Core Data (и я также довольно новичок в разработке для iPhone), и я обнаружил поведение, которое не могу объяснить.
Я объявил подкласс NSManagedObject и определил несколько свойств, некоторые из которых имеют тип NSString *, MyObject.h выглядит примерно так:
@interface MyObject : NSManagedObject {
}
@property (nonatomic, retain) NSString *contentFile;
@property (nonatomic, retain) NSString *contentPath;
@property (nonatomic, retain) NSDate *creationDate;
@property (nonatomic, retain) NSString *name;
@end
Теперь, если я попытаюсь создать экземпляр объекта и присвоить значение свойству name, при попытке вывести обратно содержимое свойства, похоже, оно искажено.
В AppDelegate, где определен весь стек основных данных, я пишу:
MyObject *newObject = [NSEntityDescription insertNewObjectForEntityForName:@"MyObject"
inManagedObjectContext:self.managedObjectContext];
newObject.name = @"Testing";
NSLog([NSString stringWithFormat:@"Name: %s\n", newObject.name]);
В консоли вывода я получаю
2009-08-24 20:03:55.176 MyApp[15727:20b] Name: ‡}00»
Я не могу понять, делаю ли я что-то неправильно или я что-то забыл. Кто-нибудь может помочь, пожалуйста?