【发布时间】:2015-05-19 04:49:19
【问题描述】:
我有一个 UIPickerView,我正在尝试使用 NSFetchRequest 从 managedObjectContext 提取数据的结果填充它。当我使用以下内容初始化我的 UIPickerView 时,KCModalPickerView *pickerView = [[KCModalPickerView alloc] initWithValues:_userNames]; Xcode 不会抛出警告或错误,但是当我构建并运行应用程序时,我会收到以下错误。
* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[Account copyWithZone:]:无法识别的选择器已发送到实例 0x7a60ec70” * 首先抛出调用栈:
现在在你说这个错误是由于我没有在我的 vc 中实现 copyWithZone 方法之前,我想指出我在我的类文件中没有使用关键字 copy
我被告知导致崩溃的方法属于KCModalPicker 类实现文件。该方法如下所示,
// edit this method
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return [self.values objectAtIndex:row];
}
我需要更改/编辑/添加什么以防止此应用崩溃?
更新
_usernames 是一个 NSArray ...结果如下所示,
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Account" inManagedObjectContext:_managedObjectContext];
[fetchRequest setEntity:entity];
fetchRequest.propertiesToFetch = [NSArray arrayWithObject:[[entity propertiesByName] objectForKey:@"username"]];
NSError *error = nil;
NSArray _usernames = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
【问题讨论】:
-
_usernames指向什么?
标签: ios objective-c core-data xcode6 uipickerview