分配NSManagedObject时prepareForSegue崩溃,但是为什么呢?

马特·杜汉(Matt Douhan)

我正在使用下面的代码将数据从一个UITableViewController发送到UIViewController,但是由于某些原因(我不理解为什么)而崩溃,其中没有NIL / NULL值。请帮助我解释导致崩溃的原因。

这是有问题的代码

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {  
if ([[segue identifier] isEqualToString:@"updateItem"]) {  
       NSManagedObject *selectedItem = [self.pimItems objectAtIndex:[[self.tableView indexPathForSelectedRow] row]];  
       PimItemDetailView *destViewController = segue.destinationViewController;  
     if([NWTillHelper isDebug] == 1) {  
         NSLog(@"PimItemListView:prepareForSegue:selectedItem holds %@", selectedItem);  
         NSLog(@"PimItemListView:prepareForSegue:destViewController holds %@", destViewController);  
     }  
       destViewController.pimItem = selectedItem;  
    }  
} 

它恰好在这一行崩溃

destViewController.pimItem = selectedItem;

调试告诉我我没有任何NIL / NULL值

2016-11-22 18:47:05.043 NWMobileTill[836:10726] PimItemListView:prepareForSegue:selectedItem holds <TillData: 0x6080002c3bf0> (entity: TillData; id: 0xd0000000000c0002 <x-coredata:/
    colorCode = 95;
    companyId = "BE_HM";
    discountable = 1;
    exchangeable = 1;
    itemId = 101064025138012;
    languageCode = eng;
    noos14 = "09258385254957,09258389874953";
    sizeCode = "163-012";
    status = 1;
    taxGroup = 1;
    taxRegion = BE;
    tradeItemDesc = "Jersey basic";
    withTax = 1;
})
2016-11-22 18:47:05.043 NWMobileTill[836:10726] PimItemListView:prepareForSegue:destViewController holds <PimItemDetailView: 0x7f81a1e48050>

The entire crash message is as follows, any help much appreciated.

2016-11-22 18:47:05.064 NWMobileTill[836:10726] -[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance 0xb000000000000011
2016-11-22 18:47:05.074 NWMobileTill[836:10726] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance 0xb000000000000011'
*** First throw call stack:
(
  0   CoreFoundation                      0x000000010167234b __exceptionPreprocess + 171
  1   libobjc.A.dylib                     0x0000000100cb621e objc_exception_throw + 48
  2   CoreFoundation                      0x00000001016e1f34 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
  3   CoreFoundation                      0x00000001015f7c15 ___forwarding___ + 1013
  4   CoreFoundation                      0x00000001015f7798 _CF_forwarding_prep_0 + 120
  5   UIKit                               0x00000001025b37c7 -[UITextField _textNeedsSanitizing:] + 184
  6   UIKit                               0x00000001025b34d8 -[UITextField setText:] + 61
  7   NWMobileTill                        0x00000001006a345e -[PimItemDetailView viewDidLoad] + 1486
  8   UIKit                               0x0000000101c36c99 -[UIViewController loadViewIfRequired] + 1258
  9   UIKit                               0x0000000101c370cc -[UIViewController view] + 27
  10  UIKit                               0x00000001024fb49c -[_UIFullscreenPresentationController _setPresentedViewController:] + 87
  11  UIKit                               0x0000000101c11932 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 141
  12  UIKit                               0x0000000101c49f37 -[UIViewController _presentViewController:withAnimationController:completion:] + 3956
  13  UIKit                               0x0000000101c4d30b -[UIViewController _performCoordinatedPresentOrDismiss:animated:] + 530
  14  UIKit                               0x0000000101c4cdf1 -[UIViewController presentViewController:animated:completion:] + 179
  15  UIKit                               0x00000001022604f7 __74-[UIStoryboardPresentationSegueTemplate newDefaultPerformHandlerForSegue:]_block_invoke + 133
  16  UIKit                               0x000000010226ffbd -[UIStoryboardSegueTemplate _performWithDestinationViewController:sender:] + 447
  17  UIKit                               0x000000010226fdcd -[UIStoryboardSegueTemplate _perform:] + 82
  18  UIKit                               0x000000010227008f -[UIStoryboardSegueTemplate perform:] + 156
  19  UIKit                               0x0000000101bec52a -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1769
  20  UIKit                               0x0000000101bec78d -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 330
  21  UIKit                               0x0000000101aa22eb _runAfterCACommitDeferredBlocks + 320
  22  UIKit                               0x0000000101a8ef6f _cleanUpAfterCAFlushAndRunDeferredBlocks + 566
  23  UIKit                               0x0000000101ac03da _afterCACommitHandler + 176
  24  CoreFoundation                      0x0000000101616e17 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
  25  CoreFoundation                      0x0000000101616d87 __CFRunLoopDoObservers + 391
  26  CoreFoundation                      0x00000001015fb4b6 CFRunLoopRunSpecific + 454
  27  GraphicsServices                    0x0000000105922a6f GSEventRunModal + 161
  28  UIKit                               0x0000000101a95964 UIApplicationMain + 159
  29  NWMobileTill                        0x00000001006a580f main + 111
  30  libdyld.dylib                       0x000000010383d68d start + 1
  31  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Le Roi Beukes

我不是专家,但可以从这里开始:

0x00000001025b37c7-[UITextField _textNeedsSanitizing:] + 184 6 UIKit 0x00000001025b34d8-[UITextField setText:] + 61 7 NWMobileTill 0x00000001006a345e-[PimItemDetailView viewDidLoad] + 1486

查看viewDidLoad方法,看看其中发生了什么,它可能正在尝试分配一个变量(设置UITextField或其他变量),并且由于nil / null值或它正在尝试的字段/属性而没有设法做到这一点设置实际上在对象上丢失。

再一次,没有专家-只是粗略地看了一眼就告诉我,这就是我要开始寻找的地方。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

内存分配失败。但是为什么会崩溃?还是呢?

来自分类Dev

Swift iOS NSDictionary setValue崩溃-但是为什么呢?

来自分类Dev

分配给接口数组Initializator编译,但是为什么呢?

来自分类Dev

C ++问题:无法分配抽象类型的对象,但是为什么呢?

来自分类Dev

模块被禁用-但是为什么呢?

来自分类Dev

Ruby:NoMethodError,但是为什么呢?

来自分类Dev

NotSupportedException未处理-但是为什么呢?

来自分类Dev

每次调用弹出窗口时,jQuery / js都会存储/附加变量,但是为什么呢?

来自分类Dev

将保留对象分配给__unsafe_unretained变量,但是为什么它不崩溃?

来自分类Dev

为什么不分配大量内存呢?

来自分类Dev

为什么在调试时我的代码可以运行,但是在按build&run时却崩溃?

来自分类Dev

将nil分配给强制展开的可选项不会使代码崩溃,这是为什么呢?

来自分类Dev

将nil分配给强制展开的可选项不会使代码崩溃,这是为什么呢?

来自分类Dev

GlobalGraphOperations导致NullPointerException不在Transaction中,但是为什么呢?

来自分类Dev

PyCharm抱怨patch.object,但是为什么呢?

来自分类Dev

更改UILabel文本有延迟,但是为什么呢?

来自分类Dev

ModelState.IsValid为true,但是为什么呢?

来自分类Dev

Python-脚本计数错误,但是为什么呢?

来自分类Dev

该请求匹配了多个端点,但是为什么呢?

来自分类Dev

GZIP文件已损坏-但是为什么呢?

来自分类Dev

我期望无限循环,但是为什么呢?

来自分类Dev

调用函数不明确,但是为什么呢?

来自分类Dev

Coverity抱怨htonl操作数,但是为什么呢?

来自分类Dev

需要自动增量值,但是为什么呢?

来自分类Dev

reader.Read()始终为空...但是为什么呢?

来自分类Dev

注意:索引未定义,但是为什么呢?

来自分类Dev

Curl:返回的输出比预期的怪异,但是为什么呢?

来自分类Dev

无法通过管道传输bash的“ mapfile” ...但是为什么呢?

来自分类Dev

没有匹配的通话功能,但是为什么呢?

Related 相关文章

  1. 1

    内存分配失败。但是为什么会崩溃?还是呢?

  2. 2

    Swift iOS NSDictionary setValue崩溃-但是为什么呢?

  3. 3

    分配给接口数组Initializator编译,但是为什么呢?

  4. 4

    C ++问题:无法分配抽象类型的对象,但是为什么呢?

  5. 5

    模块被禁用-但是为什么呢?

  6. 6

    Ruby:NoMethodError,但是为什么呢?

  7. 7

    NotSupportedException未处理-但是为什么呢?

  8. 8

    每次调用弹出窗口时,jQuery / js都会存储/附加变量,但是为什么呢?

  9. 9

    将保留对象分配给__unsafe_unretained变量,但是为什么它不崩溃?

  10. 10

    为什么不分配大量内存呢?

  11. 11

    为什么在调试时我的代码可以运行,但是在按build&run时却崩溃?

  12. 12

    将nil分配给强制展开的可选项不会使代码崩溃,这是为什么呢?

  13. 13

    将nil分配给强制展开的可选项不会使代码崩溃,这是为什么呢?

  14. 14

    GlobalGraphOperations导致NullPointerException不在Transaction中,但是为什么呢?

  15. 15

    PyCharm抱怨patch.object,但是为什么呢?

  16. 16

    更改UILabel文本有延迟,但是为什么呢?

  17. 17

    ModelState.IsValid为true,但是为什么呢?

  18. 18

    Python-脚本计数错误,但是为什么呢?

  19. 19

    该请求匹配了多个端点,但是为什么呢?

  20. 20

    GZIP文件已损坏-但是为什么呢?

  21. 21

    我期望无限循环,但是为什么呢?

  22. 22

    调用函数不明确,但是为什么呢?

  23. 23

    Coverity抱怨htonl操作数,但是为什么呢?

  24. 24

    需要自动增量值,但是为什么呢?

  25. 25

    reader.Read()始终为空...但是为什么呢?

  26. 26

    注意:索引未定义,但是为什么呢?

  27. 27

    Curl:返回的输出比预期的怪异,但是为什么呢?

  28. 28

    无法通过管道传输bash的“ mapfile” ...但是为什么呢?

  29. 29

    没有匹配的通话功能,但是为什么呢?

热门标签

归档