Core data NSFetchedResultsController可以';当排序属性为';都不一样
我遇到了一个奇怪的问题,Core data NSFetchedResultsController可以';当排序属性为';都不一样,core-data,ios5,nsfetchedresultscontroller,Core Data,Ios5,Nsfetchedresultscontroller,我遇到了一个奇怪的问题,NSFetchedResultsController只能处理performFetch当所有实体.number都是相同的数字时(此NSFetchedResultsController使用number对实体进行排序。这有点像使用indexNumber属性来保持播放列表顺序的播放列表 - (IBAction)addSetPressed { int theNumber = [self.nameTextField.text intValue]; WSet *set
NSFetchedResultsController
只能处理performFetch
当所有实体.number
都是相同的数字时(此NSFetchedResultsController
使用number
对实体进行排序。这有点像使用indexNumber
属性来保持播放列表顺序的播放列表
- (IBAction)addSetPressed {
int theNumber = [self.nameTextField.text intValue];
WSet *set = [WSet wSetWithNumber:theNumber inManagedObjectContext:self.workout.managedObjectContext];
[self.workout addExercisesObject:set];
}
self.nameTextField
在我的UITableView
的标题中。我会在那里输入一个数字,比如1
,然后我按下一个ui按钮,该按钮调用addSetPressed
。该代码用于向我的模型添加一个实体,nsfetchedresultscoontroller
检测模型中的更改并更新我的UITableView
问题是:
当我在self.nameTextField
中输入1
(或任何数字)时,我可以按ui按钮
任意次数,代码工作正常。但是当我在self.nameTextField
中更改数字时,我会出现一个错误:
[__NSCFNumber localizedCaseInsensitiveCompare:]: unrecognized selector sent to instance 0xb665b80
CoreData: error: Serious application error. Exception was caught during Core Data change processing. This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification.
在过去的12个小时里,我一直在乱搞我的代码,研究这个问题,但我想不出来
如果你能给我一个建议和小费,或者能给我一些有帮助的文献,那就太好了。看起来NSNumber
不喜欢被发送方法localizedCaseInsensitiveCompare:
我将尝试一下,看看是否可以将排序值改为NSString
如果您有任何更好的想法,请告诉我!看起来NSNumber
不喜欢被发送方法localizedCaseInsensitiveCompare:
我将尝试一下,看看是否可以将排序值改为NSString
如果您有更好的想法,请告诉我!已修复
问题是,当我设置我的sortDescriptor
时,我需要选择适当的选择器来比较我排序所依据的属性类型
这是正确的,因为数字被处理为NSNumber
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"number" ascending:YES selector:@selector(compare:)]];
我以前有过NSString
的选择器。已修复
问题是,当我设置我的sortDescriptor
时,我需要选择适当的选择器来比较我排序所依据的属性类型
这是正确的,因为数字被处理为NSNumber
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"number" ascending:YES selector:@selector(compare:)]];
我以前有过NSString的选择器。非常感谢。我当时看的地方完全错了,认为更改日期的控制器是问题所在,而导致应用程序崩溃的是进入其中的tableViewController。非常感谢。我当时看的地方完全错了,我在想问题在于更改日期的控制器,而导致应用程序崩溃的控制器是已进入其中的tableViewController。