2014-01-29 3 views
0

Я пытаюсь добавить поле к объекту, и всякий раз, когда я пытаюсь получить доступ к новому поля я получаюВозникли проблемы с новым полем в сущности (неопознанная ошибка Селектора)

непризнанного селектора отправляется, например .. .

Все остальное о сущности работает. Я могу добавлять объекты, и я могу назначать значения для других полей в объекте, но не для новых объектов.

Обратите внимание: я также удалил каталог DerivedData, и я удалил файлы .mom/.momd, чтобы убедиться, что таблицы строятся правильно.

Любые мысли?

Locations.h

#import <Foundation/Foundation.h> 
#import <CoreData/CoreData.h> 

@class Games, Players; 

@interface Locations : NSManagedObject 

@property (nonatomic, retain) NSNumber * defaultLoc; 
@property (nonatomic, retain) NSString * locationAddr1; 
@property (nonatomic, retain) NSString * locationAddr2; 
@property (nonatomic, retain) NSString * locationCity; 
@property (nonatomic, retain) NSNumber * locationID; 
@property (nonatomic, retain) NSString * locationName; 
@property (nonatomic, retain) NSString * locationState; 
@property (nonatomic, retain) NSString * locationZip; 
@property (nonatomic, retain) NSNumber * numberOfCourts; 
@property (nonatomic, retain) NSNumber * defLoc; 
@property (nonatomic, retain) NSSet *haveGames; 
@property (nonatomic, retain) NSSet *havePlayers; 
@end 

@interface Locations (CoreDataGeneratedAccessors) 

- (void)addHaveGamesObject:(Games *)value; 
- (void)removeHaveGamesObject:(Games *)value; 
- (void)addHaveGames:(NSSet *)values; 
- (void)removeHaveGames:(NSSet *)values; 

- (void)addHavePlayersObject:(Players *)value; 
- (void)removeHavePlayersObject:(Players *)value; 
- (void)addHavePlayers:(NSSet *)values; 
- (void)removeHavePlayers:(NSSet *)values; 

@end 

Locations.m

#import "Locations.h" 
#import "Games.h" 
#import "Players.h" 


@implementation Locations 

@dynamic defaultLoc; 
@dynamic locationAddr1; 
@dynamic locationAddr2; 
@dynamic locationCity; 
@dynamic locationID; 
@dynamic locationName; 
@dynamic locationState; 
@dynamic locationZip; 
@dynamic numberOfCourts; 
@dynamic defLoc; 
@dynamic haveGames; 
@dynamic havePlayers; 

@end 

Примечание: defLoc и defaultLoc является то, что я добавил два поля. Это те, которые дают мне проблемы.

Выполнение кода:

- (IBAction)updateLocation:(UIStoryboardSegue *)segue 
{ 
    // If it is not "Edit" it is an "Add" and we need to insert a newobject. 
    if ([segueType1 isEqualToString:@"Add"]) 
    { 
     NSManagedObjectContext *context = [[self fetchedResultsController] managedObjectContext]; 
     location = [NSEntityDescription insertNewObjectForEntityForName:@"Locations" inManagedObjectContext:context]; 
    } 
    location.locationName = lName; 
    location.locationAddr1 = lAddr1; 
    location.locationAddr2 = lAddr2; 
    location.locationCity = lCity; 
    location.locationState = lState; 
    location.locationZip = lZip; 
    location.numberOfCourts = lNumCourts; 
    location.defLoc = lNumCourts; 
// location.defaultLoc = [NSNumber numberWithInt:1]; 
// DLog(@"ldefaultLocation = %@",ldefaultLocation); 
    location.defaultLoc = ldefaultLocation; 
    segueType1 = @"Add"; // Always reset back to Add so that segues work right 
} 

location.defLoc выше, является команда, которая выдает ошибку ... Все другие операторы местоположения прекрасно работают.

+0

Вы создали новую версию модели Core Data? Если да, то вы установили «текущую версию» в новую версию? –

+0

Это, казалось, был правильным ответом, поскольку я раньше этого не делал. Я сделал исследование о том, как его реализовать, сделал процесс, попытался удалить вещи, как некоторые советовали ... Еще не повезло :-(То же сообщение –

ответ

0

Это может произойти, если вы не объявляете новый атрибут в своем дочернем объекте NSManagedObject. Как только вы добавите новое поле в базовую модель данных, не забудьте добавить свойство right в класс NSManagedObject и объявить его @dynamic в реализации.

+0

Я запустил «Создать NSManagedOBject ...» из меню и дважды проверял, чтобы убедиться он создал свойство в .h для объекта. Я даже дважды запускал, чтобы убедиться, что все построено правильно ... все кажется нормальным (кроме этого сообщения об ошибке) .... Также проверено .m. У него есть @dynamic –

+0

Итак, не могли бы вы опубликовать еще какой-нибудь код? Например: набор свойств в дочернем файле NSManagedObject и оператор, который вы используете для создания нового объекта –

 Смежные вопросы

  • Нет связанных вопросов^_^