Я здесь что-то не так делаю ... Я знаю, что
Я использую XCode, и я создал следующий класс, используя модельера данных:
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@interface Project : NSManagedObject {
@private
}
@property (nonatomic, retain) NSNumber * indent;
@property (nonatomic, retain) NSNumber * collapsed;
@property (nonatomic, retain) NSString * color;
@property (nonatomic, retain) NSNumber * project_id;
@property (nonatomic, retain) NSNumber * item_order;
@property (nonatomic, retain) NSNumber * cache_count;
@property (nonatomic, retain) NSNumber * user_id;
@property (nonatomic, retain) NSString * name;
@end
Когда я пытаюсь распространить этот класс с данными из источника JSON, используя следующий код:
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"projects" ofType:@"json"];
if (filePath) {
NSString* jsonString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
DLog(@"JSON for Projects:%@", jsonString);
SBJsonParser* jsonParser = [SBJsonParser new];
id response = [jsonParser objectWithString:jsonString];
NSArray* array = (NSArray*) response;
NSEnumerator* e = [array objectEnumerator];
NSDictionary* dictionary;
while ((dictionary = (NSDictionary*)[e nextObject])) {
Project* project = [[Project alloc] init];
project.user_id = [dictionary objectForKey:@"user_id"];
project.name = [dictionary objectForKey:@"name"];
project.color = [dictionary objectForKey:@"color"];
project.collapsed = [dictionary objectForKey:@"collapsed"];
project.item_order = [dictionary objectForKey:@"item_order"];
project.cache_count = [dictionary objectForKey:@"cache_count"];
project.indent = [dictionary objectForKey:@"indent"];
project.project_id = [dictionary objectForKey:@"project_id"];
[elementArray addObject:project];
[project release];
}
}
Однако код останавливается на строке project.user_id = [dictionary objectForKey:@"user_id"];
с исключением "* Завершение работы приложения из-за необработанного исключения" NSInvalidArgumentException ", причина: '- [Project setUser_id:]: нераспознанный селектор, отправленный экземпляру 0x590bcb0' "
Я не знаю, почему это происходит или как решить эту проблему.