导致线程1的标签:信号SIGABRT

时间:2014-10-19 05:27:43

标签: ios objective-c label signals sigabrt

我最近在我的项目中制作了一个新的视图控制器,我添加了一个标签,并将标签贴在我在.h

制作的插座上。
IBOutlet UILabel *coinAmount;

我这样做了。多数民众赞成我在.m文件中没有代码,我把它链接到视图控制器中的标签,当我点击一个按钮打开视图控制器时,它给我一个信号SIGABRT。所以我删除了标签,它完美无缺!我不知道为什么会这样。

我尝试的事情:

1 - 更改插座名称

2 - 创建新视图控制器

3 - 创建新的.h和.m

4 - 删除标签并使用其他标签

5 - 关闭计算机回来


就我的知识而言,那就好了。 :d 请帮我解决拔毛问题!

感谢所有花时间帮助我解决这个非常恼人的问题的人。对不起,如果这对你来说很容易。我很新。

    2014-10-19 21:29:06.963 Speedy[1462:35954] Unknown class clab in Interface Builder file.
2014-10-19 21:29:06.968 Speedy[1462:35954] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x7fed8ac9d9f0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key label.'
*** First throw call stack:
(
    0   CoreFoundation                      0x00000001054db3f5 __exceptionPreprocess + 165
    1   libobjc.A.dylib                     0x0000000104dcbbb7 objc_exception_throw + 45
    2   CoreFoundation                      0x00000001054db039 -[NSException raise] + 9
    3   Foundation                          0x00000001049694d3 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
    4   CoreFoundation                      0x0000000105425400 -[NSArray makeObjectsPerformSelector:] + 224
    5   UIKit                               0x0000000105dcd97d -[UINib instantiateWithOwner:options:] + 1506
    6   UIKit                               0x0000000105c2e698 -[UIViewController _loadViewFromNibNamed:bundle:] + 242
    7   UIKit                               0x0000000105c2ec88 -[UIViewController loadView] + 109
    8   UIKit                               0x0000000105c2eef9 -[UIViewController loadViewIfRequired] + 75
    9   UIKit                               0x0000000105c2f38e -[UIViewController view] + 27
    10  UIKit                               0x00000001061cc83f -[_UIFullscreenPresentationController _setPresentedViewController:] + 65
    11  UIKit                               0x0000000105c0ac49 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 105
    12  UIKit                               0x0000000105c3b121 -[UIViewController _presentViewController:withAnimationController:completion:] + 1746
    13  UIKit                               0x0000000105c3d461 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 132
    14  UIKit                               0x0000000105c3d385 -[UIViewController presentViewController:animated:completion:] + 229
    15  UIKit                               0x0000000105b0b9ee -[UIApplication sendAction:to:from:forEvent:] + 75
    16  UIKit                               0x0000000105c11bd0 -[UIControl _sendActionsForEvents:withEvent:] + 467
    17  UIKit                               0x0000000105c10f9f -[UIControl touchesEnded:withEvent:] + 522
    18  UIKit                               0x0000000105b513b8 -[UIWindow _sendTouchesForEvent:] + 735
    19  UIKit                               0x0000000105b51ce3 -[UIWindow sendEvent:] + 683
    20  UIKit                               0x0000000105b1eae1 -[UIApplication sendEvent:] + 246
    21  UIKit                               0x0000000105b2bbad _UIApplicationHandleEventFromQueueEvent + 17370
    22  UIKit                               0x0000000105b07233 _UIApplicationHandleEventQueue + 1961
    23  CoreFoundation                      0x0000000105410ad1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    24  CoreFoundation                      0x000000010540699d __CFRunLoopDoSources0 + 269
    25  CoreFoundation                      0x0000000105405fd4 __CFRunLoopRun + 868
    26  CoreFoundation                      0x0000000105405a06 CFRunLoopRunSpecific + 470
    27  GraphicsServices                    0x00000001075339f0 GSEventRunModal + 161
    28  UIKit                               0x0000000105b0a550 UIApplicationMain + 1282
    29  Speedy                              0x000000010488a2d3 main + 115
    30  libdyld.dylib                       0x00000001088d1145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 

1 个答案:

答案 0 :(得分:3)

堆栈跟踪(以及SIGABRT之类的东西)对于新编码器来说总是一个可怕的错误,但真正的错误实际上显示在顶部,前几行:this class is not key value coding-compliant for the key {{1} }

最可能的解释是,您有一个label连接到Storyboard中的一个名为UILabel的对象。稍后,您将此属性的名称更改为label,如您提供的代码所示。

更改属性名称时,这不会自动更新Storyboard中的连接。相反,会发生的事情是新的coinAmount属性最终没有链接到任何内容,并且您的Storyboard有一个标签链接到您的类中不存在的名为coinAmount的属性 - 因此崩溃尝试设置未定义的属性。

解决方案?

通过您的故事板查看您所指的UILabel。选择它,然后在右侧面板中选择最后一个选项卡(“连接检查器”),其中显示与其他对象/视图的连接。你应该在这里有一个名为label的“引用插座”。去掉它。

将新的引用插座添加到父视图控制器(将轮廓圆圈拖到左侧层次结构最顶部的视图控制器),弹出窗口应显示为包含label - 选择此项,然后您'做完了!