Я продолжаю сталкиваться с этим исключением, когда пытаюсь установить свое свойство "phoneNumber":
* Завершение работы приложения из-за необработанного исключения 'NSInvalidArgumentException', причина: '- [SearchResult setPhoneNumber:]: нераспознанный селектор отправлен на экземпляр 0x256b40 '
Вот класс со свойством phoneNumber:
@interface SearchResult : NSManagedObject
@property (nonatomic, retain) NSString * phoneNumber;
@end
@implementation SearchResult
@dynamic phoneNumber;
@end
Проблема заключается в том, что когда я делаю это:
SearchResult *managedObject = [self findExistingSearchResultById:restaurantId];
if(managedObject == nil)
{
managedObject = [NSEntityDescription insertNewObjectForEntityForName:@"SearchResult" inManagedObjectContext:managedObjectContext];
}
// Exception throws here.
managedObject.phoneNumber = @"1234567890";
Вотметод findExistingSearchResult:
+ (SearchResult *)findExistingSearchResultById:(NSString *)restaurantId
{
NSManagedObjectContext *managedObjectContext = serviceContext;
NSFetchRequest *request = [[NSFetchRequest alloc]init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"SearchResult" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"restaurantId = %@", restaurantId];
[request setPredicate:predicate];
NSError *error = nil;
NSArray *fetchedObjects = [managedObjectContext executeFetchRequest:request error:&error];
if(fetchedObjects != nil)
{
return [fetchedObjects lastObject];
}
else
{
return nil;
}
}
Я использую очень похожие реализации классов в своем приложении и не сталкиваюсь с такими проблемами.Я не понял, почему установка свойства phoneNumber здесь вызывает это исключение.