无法识别的选择器mutableCopyWithZone

用户名

我正在从该站点http://www.appcoda.com/introduction-to-core-data/跟踪有关核心数据的教程

但是我收到以下错误:

2016-06-23 17:55:11.905 MyStore [6020:596233]-[NSAsynchronousFetchResult mutableCopyWithZone:]:无法识别的选择器已发送到实例0x7f8950e12eb0

我放置了一个断点,并且错误似乎来自以下过程。

- (void) viewDidAppear:(BOOL)animated {
    
    [super viewDidAppear:animated];
    
    //Fetch the devices from the persistent store.
    NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Device"];
    self.devices = [[managedObjectContext executeRequest:fetchRequest error:nil] mutableCopy]; //error here
    
    [self.tableView reloadData];
}

我将属性“ devices”声明为NSMutableArray。

任何类型的帮助将不胜感激。

用户名

因此,当我遵循该过程时,我使用的方法不正确。

我应该使用的方法是executeFetchRequest,并且错误地使用了executeRequest第一个确实返回一个NSArray,但另一个返回一个NSPersistentStoreResult。

这里是方法。

- (nullable NSArray *)executeFetchRequest:(NSFetchRequest *)request error:(NSError **)error;
- (nullable __kindof NSPersistentStoreResult *)executeRequest:(NSPersistentStoreRequest*)request error:(NSError **)error NS_AVAILABLE(10_10, 8_0);

由于沃洛我的帮助是能够检查我的对象返回确实是我所期待的类型是不从那里我可能已经改变了方法,但后来我发现,返回的对象是一个更为复杂的之一,并有一个我可以使用的NSArray属性。

所以这是我的测试代码:)

- (void) viewDidAppear:(BOOL)animated {

    [super viewDidAppear:animated];

    //Fetch the devices from the persistent store.
    NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Device"];

    id whatAreYou = [managedObjectContext executeRequest:fetchRequest error:nil];
    NSLog(@"%@", [whatAreYou class]); // turns out you are a NSPersistentStoreResult
    // lucky for me you are have finalResult property that returns an NSArray. :)

    self.devices = [[whatAreYou finalResult] mutableCopy]; //no more errors here :)

    [self.tableView reloadData];
}

非常感谢您的帮助。从现在开始,我将添加到调试工具中来检查对象类型:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法识别的选择器mutableCopyWithZone

来自分类Dev

setNeedsStatusBarAppearanceUpdate无法识别的选择器

来自分类Dev

setNeedsStatusBarAppearanceUpdate无法识别的选择器

来自分类Dev

SortedArrayUsingSelector无法识别的选择器

来自分类Dev

SIGABRT /无法识别的选择器

来自分类Dev

如何识别无法识别的选择器和无法识别的选择器?

来自分类Dev

无法让 NSKeyedArchiver 工作:无法识别的选择器

来自分类Dev

NSNull isEqualToString:ObjC上无法识别的选择器

来自分类Dev

目标动作模式的快速无法识别的选择器

来自分类Dev

无法识别的选择器isPitched被调用

来自分类Dev

UIButton setFrame无法识别的选择器alignmentRectInsets

来自分类Dev

CCAnimation使用无法识别的选择器setDisplayFrame崩溃

来自分类Dev

collationStringSelector错误:无法识别的选择器

来自分类Dev

iOS无法识别的对象选择器

来自分类Dev

无法识别的选择器UIDeviceRGBColor countByEnumeratingWithState:objects:count:

来自分类Dev

提取请求“无法识别的选择器”错误

来自分类Dev

[ViewController presentPopupViewController:animationType:]:无法识别的选择器

来自分类Dev

NSNull isEqualToString:ObjC上无法识别的选择器

来自分类Dev

协议中无法识别的选择器

来自分类Dev

使用MPMoviePlayerController时无法识别的选择器

来自分类Dev

NSJSONSerialization解析错误-无法识别的选择器

来自分类Dev

[NSArrayM tableView]:无法识别的选择器

来自分类Dev

快速无法识别的目标动作模式选择器

来自分类Dev

调用绑定方法时无法识别的选择器

来自分类Dev

无法识别的选择器isPitched被调用

来自分类Dev

NSArrayM无法识别的选择器错误

来自分类Dev

无法识别的选择器NotificationCenter Swift 3

来自分类Dev

Objective-C + WKWebkit 无法识别的选择器

来自分类Dev

Swift选择器-无法识别的选择器已发送到实例

Related 相关文章

  1. 1

    无法识别的选择器mutableCopyWithZone

  2. 2

    setNeedsStatusBarAppearanceUpdate无法识别的选择器

  3. 3

    setNeedsStatusBarAppearanceUpdate无法识别的选择器

  4. 4

    SortedArrayUsingSelector无法识别的选择器

  5. 5

    SIGABRT /无法识别的选择器

  6. 6

    如何识别无法识别的选择器和无法识别的选择器?

  7. 7

    无法让 NSKeyedArchiver 工作:无法识别的选择器

  8. 8

    NSNull isEqualToString:ObjC上无法识别的选择器

  9. 9

    目标动作模式的快速无法识别的选择器

  10. 10

    无法识别的选择器isPitched被调用

  11. 11

    UIButton setFrame无法识别的选择器alignmentRectInsets

  12. 12

    CCAnimation使用无法识别的选择器setDisplayFrame崩溃

  13. 13

    collationStringSelector错误:无法识别的选择器

  14. 14

    iOS无法识别的对象选择器

  15. 15

    无法识别的选择器UIDeviceRGBColor countByEnumeratingWithState:objects:count:

  16. 16

    提取请求“无法识别的选择器”错误

  17. 17

    [ViewController presentPopupViewController:animationType:]:无法识别的选择器

  18. 18

    NSNull isEqualToString:ObjC上无法识别的选择器

  19. 19

    协议中无法识别的选择器

  20. 20

    使用MPMoviePlayerController时无法识别的选择器

  21. 21

    NSJSONSerialization解析错误-无法识别的选择器

  22. 22

    [NSArrayM tableView]:无法识别的选择器

  23. 23

    快速无法识别的目标动作模式选择器

  24. 24

    调用绑定方法时无法识别的选择器

  25. 25

    无法识别的选择器isPitched被调用

  26. 26

    NSArrayM无法识别的选择器错误

  27. 27

    无法识别的选择器NotificationCenter Swift 3

  28. 28

    Objective-C + WKWebkit 无法识别的选择器

  29. 29

    Swift选择器-无法识别的选择器已发送到实例

热门标签

归档