Я пытаюсь добавить поле к объекту, и всякий раз, когда я пытаюсь получить доступ к новому поля я получаюВозникли проблемы с новым полем в сущности (неопознанная ошибка Селектора)
непризнанного селектора отправляется, например .. .
Все остальное о сущности работает. Я могу добавлять объекты, и я могу назначать значения для других полей в объекте, но не для новых объектов.
Обратите внимание: я также удалил каталог 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 выше, является команда, которая выдает ошибку ... Все другие операторы местоположения прекрасно работают.
Вы создали новую версию модели Core Data? Если да, то вы установили «текущую версию» в новую версию? –
Это, казалось, был правильным ответом, поскольку я раньше этого не делал. Я сделал исследование о том, как его реализовать, сделал процесс, попытался удалить вещи, как некоторые советовали ... Еще не повезло :-(То же сообщение –