xcode 应用程序因错误而崩溃:-[NSNull 长度]:无法识别的选择器发送到实例

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/26852432/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 06:08:53  来源:igfitidea点击:

App crashing with error: -[NSNull length]: unrecognized selector sent to instance

iosobjective-ciphonexcodecrash

提问by Wizard Lizard

This line [self.label setFont:[MyUtilityClass fontWithSize:13.0f]];of code is giving me the -[NSNull length]: crash. labelas many of you guys can guess is a UILabel. The only logical explanation I can think of is UILabel text is null. I will post my utility class below just in case it helps.

这行[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;
    }

edit: This is the error message I've received. I can copy and paste the raw data if you need me to. This is a crash a user received according to crashlytics.

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

Fatal Exception: NSInvalidArgumentException

致命异常:NSInvalidArgumentException

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

This is the raw data of the crash.

这是崩溃的原始数据。

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

回答by AdamPro13

It's very likely that you are trying to get the length of what you think is an NSStringbut is actually NSNull.

您很可能正在尝试获得您认为是 anNSString但实际上是 的长度NSNull