作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么我会收到 NSInvalidArgumentException?
我的 TableView Controller 代码:
- (NSFetchedResultsController *)fetchedResultsController {
CoreDataHelper *cdh = [(MRMedSafeAppDelegate *) [[UIApplication sharedApplication] delegate] cdh];
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Patient" inManagedObjectContext:cdh.context];
[fetchRequest setEntity:entity];
NSSortDescriptor *sort1 = [[NSSortDescriptor alloc]
initWithKey:@"Patient.nachname" ascending:YES];
NSSortDescriptor *sort2 = [[NSSortDescriptor alloc]
initWithKey:@"Patient.vorname" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObjects:sort1, sort2, nil]];
[fetchRequest setFetchBatchSize:20];
NSFetchedResultsController *theFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:cdh.context
sectionNameKeyPath:nil
cacheName:nil];
self.fetchedResultsController = theFetchedResultsController;
_fetchedResultsController.delegate = self;
return _fetchedResultsController;
我的病人.h:
@interface Patient : NSManagedObject
@property (nonatomic, retain) NSDate * geburtsdatum;
@property (nonatomic, retain) NSString * nachname;
@property (nonatomic, retain) NSString * vorname;
@property (nonatomic, retain) NSNumber * weiblich;
@end
我的病人.m:
#import "Patient.h"
@implementation Patient
@dynamic geburtsdatum;
@dynamic nachname;
@dynamic vorname;
@dynamic weiblich;
@end
由 XCode 5 从 Model.xcdatamodeld 文件中生成的 Patient.h 和 Patient.h。
为什么我得到异常?
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath Patient.nachname not found in entity '
患者是唯一的类,没有其他模型类,模型中也没有关系。
最佳答案
只需在
中使用“nachname”而不是“Patient.nachname”NSSortDescriptor *sort1 = [[NSSortDescriptor alloc]
initWithKey:@"Patient.nachname" ascending:YES];
即应该是
NSSortDescriptor *sort1 = [[NSSortDescriptor alloc]
initWithKey:@"nachname" ascending:YES];
下一个排序描述符和“vorname”也是如此。
关于ios - 'NSInvalidArgumentException',原因 : 'keypath Patient.nachname not found in entity <NSSQLEntity Patient id=1>' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21392854/
为什么我会收到 NSInvalidArgumentException? 我的 TableView Controller 代码: - (NSFetchedResultsController *)fetc
我是一名优秀的程序员,十分优秀!