应用程序崩溃并出现错误: - [NSNull length]:无法识别的选择器发送到实例

时间:2014-11-10 20:29:44

标签: ios objective-c iphone xcode crash

这行[self.label setFont:[MyUtilityClass fontWithSize:13.0f]];代码给了我 - [NSNull length]:崩溃。 label你们很多人都可以猜到是UILabel。我能想到的唯一合乎逻辑的解释是UILabel文本为空。我将在下面发布我的实用程序类,以防它有用。

MyUtilityClass

 + (UIFont *) fontWithSize : (CGFloat) size
   {
UIFont *font = [UIFont fontWithName:@"Roboto-Regular" size:size];

return font;
    }

编辑:这是我收到的错误消息。如果您需要,我可以复制和粘贴原始数据。这是用户根据崩溃的原因收到的崩溃。

致命异常:NSInvalidArgumentException

  -[NSNull length]: unrecognized selector sent to instance 0x378e23f0

这是崩溃的原始数据。

Thread : Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x297c3c1f __exceptionPreprocess + 126
1  libobjc.A.dylib                0x36f97c8b objc_exception_throw + 38
2  CoreFoundation                 0x297c9039 __methodDescriptionForSelector
3  CoreFoundation                 0x297c6f57 ___forwarding___ + 714
4  CoreFoundation                 0x296f8df8 _CF_forwarding_prep_0 + 24
5  UIKit                          0x2cc8b1b5 -[UILabel _setFont:] + 100
6  MyApp                        0x00137c29 -[MyViewController initUI] (MyViewController.m:90)
7  MyApp                       0x0013765b -[MyViewController viewDidLoad] (MyViewController.m:51)
8  UIKit                          0x2cc82f8f -[UIViewController loadViewIfRequired] + 602
9  UIKit                          0x2cd2cd95 -[UINavigationController _layoutViewController:] + 32
10 UIKit                          0x2cd2ccbd -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 228
11 UIKit                          0x2cd2c253 -[UINavigationController _startTransition:fromViewController:toViewController:] + 74
12 UIKit                          0x2cd2bf83 -[UINavigationController _startDeferredTransitionIfNeeded:] + 578
13 UIKit                          0x2cd2bced -[UINavigationController __viewWillLayoutSubviews] + 44
14 UIKit                          0x2cd2bc81 -[UILayoutContainerView layoutSubviews] + 184
15 UIKit                          0x2cc804d7 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 514
16 QuartzCore                     0x2c6a8a0d -[CALayer layoutSublayers] + 136
17 QuartzCore                     0x2c6a43e5 CA::Layer::layout_if_needed(CA::Transaction*) + 360
18 QuartzCore                     0x2c6a426d CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 16
19 QuartzCore                     0x2c6a3c51 CA::Context::commit_transaction(CA::Transaction*) + 224
20 QuartzCore                     0x2c6a3a55 CA::Transaction::commit() + 324
21 UIKit                          0x2cc78965 _afterCACommitHandler + 132
22 CoreFoundation                 0x2978a3b5 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 20
23 CoreFoundation                 0x29787a73 __CFRunLoopDoObservers + 278
24 CoreFoundation                 0x29787e7b __CFRunLoopRun + 914
25 CoreFoundation                 0x296d6211 CFRunLoopRunSpecific + 476
26 CoreFoundation                 0x296d6023 CFRunLoopRunInMode + 106
27 GraphicsServices               0x30a8f0a9 GSEventRunModal + 136
28 UIKit                          0x2cce21d1 UIApplicationMain + 1440
29 MyApp                        0x000a07e7 main (main.m:16)
30 libdyld.dylib                  0x37517aaf start + 2

2 个答案:

答案 0 :(得分:4)

您很可能尝试获得NSString的长度,但实际上是NSNull

答案 1 :(得分:0)

我的代码遇到了这个问题并通过使用系统字体解决了它。情况是它无法加载我在代码中指定的字体。尝试并告诉我是否有帮助。

快乐编码,干杯, 拉特内什瓦尔