我正在使用Xcode v6.1.1中的Swift项目,我收到以下错误,我不明白。我相信我的Main.storyboard中的一些标签和/或我连接到它的UILabel变量存在问题。 我已经尝试了所有我能找到的东西来修复它,但没有任何效果。
任何帮助都将不胜感激。
2015-03-02 19:43:14.854 Final Project[7380:250494] -[UILabel longValue]: unrecognized selector sent to instance 0x7b8e1810
2015-03-02 19:43:14.876 Final Project[7380:250494] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UILabel longValue]: unrecognized selector sent to instance 0x7b8e1810'
*** First throw call stack:
(
0 CoreFoundation 0x00686946 __exceptionPreprocess + 182
1 libobjc.A.dylib 0x02062a97 objc_exception_throw + 44
2 CoreFoundation 0x0068e5c5 -[NSObject(NSObject) doesNotRecognizeSelector:] + 277
3 CoreFoundation 0x005d73e7 ___forwarding___ + 1047
4 CoreFoundation 0x005d6fae _CF_forwarding_prep_0 + 14
5 Foundation 0x00b0b6dc _NSSetLongValueForKeyWithMethod + 69
6 Foundation 0x00a691c6 _NSSetUsingKeyValueSetter + 257
7 Foundation 0x00a690bd -[NSObject(NSKeyValueCoding) setValue:forKey:] + 267
8 Foundation 0x00a9e9a6 -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] + 386
9 UIKit 0x011cf649 -[UIRuntimeOutletConnection connect] + 106
10 libobjc.A.dylib 0x02078724 -[NSObject performSelector:] + 62
11 CoreFoundation 0x005c05dc -[NSArray makeObjectsPerformSelector:] + 316
12 UIKit 0x011ce10a -[UINib instantiateWithOwner:options:] + 1775
13 UIKit 0x00ff0624 -[UIViewController _loadViewFromNibNamed:bundle:] + 270
14 UIKit 0x00ff0dbb -[UIViewController loadView] + 295
15 UIKit 0x00ff0fef -[UIViewController loadViewIfRequired] + 78
16 UIKit 0x00ff1595 -[UIViewController view] + 35
17 UIKit 0x01664707 -[_UIFullscreenPresentationController _setPresentedViewController:] + 75
18 UIKit 0x00fc6a81 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 113
19 UIKit 0x00ffea61 -[UIViewController _presentViewController:withAnimationController:completion:] + 2102
20 UIKit 0x010015d2 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 345
21 UIKit 0x01001424 -[UIViewController presentViewController:animated:completion:] + 224
22 UIKit 0x010060be -[UIViewController _showViewController:withAction:sender:] + 213
23 UIKit 0x012423b5 -[UIStoryboardShowSegue perform] + 143
24 UIKit 0x014b6b49 -[UIStoryboardSegueTemplate _perform:] + 217
25 UIKit 0x014b6bc5 -[UIStoryboardSegueTemplate perform:] + 116
26 libobjc.A.dylib 0x020787cd -[NSObject performSelector:withObject:withObject:] + 84
27 UIKit 0x00e9b23d -[UIApplication sendAction:to:from:forEvent:] + 99
28 UIKit 0x00e9b1cf -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 64
29 UIKit 0x00fcee86 -[UIControl sendAction:to:forEvent:] + 69
30 UIKit 0x00fcf2a3 -[UIControl _sendActionsForEvents:withEvent:] + 598
31 UIKit 0x00fce50d -[UIControl touchesEnded:withEvent:] + 660
32 UIKit 0x00eeb60a -[UIWindow _sendTouchesForEvent:] + 874
33 UIKit 0x00eec0e5 -[UIWindow sendEvent:] + 791
34 UIKit 0x00eb1549 -[UIApplication sendEvent:] + 242
35 UIKit 0x00ec137e _UIApplicationHandleEventFromQueueEvent + 20690
36 UIKit 0x00e95b19 _UIApplicationHandleEventQueue + 2206
37 CoreFoundation 0x005aa1df __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
38 CoreFoundation 0x0059fced __CFRunLoopDoSources0 + 253
39 CoreFoundation 0x0059f248 __CFRunLoopRun + 952
40 CoreFoundation 0x0059ebcb CFRunLoopRunSpecific + 443
41 CoreFoundation 0x0059e9fb CFRunLoopRunInMode + 123
42 GraphicsServices 0x0441a24f GSEventRunModal + 192
43 GraphicsServices 0x0441a08c GSEventRun + 104
44 UIKit 0x00e998b6 UIApplicationMain + 1526
45 Final Project 0x000e904e top_level_code + 78
46 Final Project 0x000e908b main + 43
47 libdyld.dylib 0x027cfac9 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
答案 0 :(得分:0)
你忘记了:在字符串名称中吗?
您的班级是否标有@objc?
答案 1 :(得分:0)
只需看-[UILabel longValue]: unrecognized selector sent to instance 0x7b8e1810
给我答案。您将UILabel
视为NSString
。
在您的代码中的某个位置,您有[label longValue]
,您的意思是[label.text longValue]
。
查看了更多的调用堆栈。我可以看到它正在从故事板初始化视图控制器时发生。
您是否已将所有观点分类?看起来您可能无意中将属性类型从NSString
更改为UILabel
。
答案 2 :(得分:0)
所以......我解决了这个问题。事实证明答案就在我面前(通常是)。无法初始化的Label与我在同一个类中声明的Int变量具有相同的名称,只有首字母大写。出于某种原因,我认为它区分大小写,所以这并不重要......