- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下崩溃报告,但无法找到导致崩溃的地方。因为我在任何地方都使用了长度字段。你知道这次崩溃的原因吗:
Thread : Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x0000000182b78f5c __exceptionPreprocess
1 libobjc.A.dylib 0x000000019776bf80 objc_exception_throw
2 CoreFoundation 0x0000000182b7fc6c __methodDescriptionForSelector
3 CoreFoundation 0x0000000182b7cc14 ___forwarding___
4 CoreFoundation 0x0000000182a80dcc _CF_forwarding_prep_0
5 UIKit 0x00000001880da13c -[UILabel _textRectForBounds:limitedToNumberOfLines:includingShadow:]
6 UIKit 0x00000001880da030 -[UILabel _intrinsicSizeWithinSize:]
7 UIKit 0x00000001881d5328 -[UILabel intrinsicContentSize]
8 UIKit 0x00000001881d5188 -[UIView(UIConstraintBasedLayout) _generateContentSizeConstraints]
9 UIKit 0x00000001881d4b9c -[UIView(UIConstraintBasedLayout) _updateContentSizeConstraints]
10 UIKit 0x00000001881d0c3c -[UIView(AdditionalLayoutSupport) updateConstraints]
11 UIKit 0x00000001881d4940 -[UILabel updateConstraints]
12 UIKit 0x00000001888f9e8c -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
13 UIKit 0x00000001888fa0f4 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
14 UIKit 0x00000001888f9dbc -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
15 UIKit 0x00000001888fa0f4 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
16 UIKit 0x00000001888f9dbc -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
17 UIKit 0x00000001888fa0f4 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
18 UIKit 0x00000001888f9dbc -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
19 Foundation 0x0000000183a14aa0 -[NSISEngine withBehaviors:performModifications:]
20 UIKit 0x00000001881d3958 -[UIView(AdditionalLayoutSupport) _withAutomaticEngineOptimizationDisabledIfEngineExists:]
21 UIKit 0x00000001888fa0c8 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
22 UIKit 0x00000001888f9dbc -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
23 UIKit 0x00000001888fa0f4 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
24 UIKit 0x00000001888f9dbc -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
25 UIKit 0x00000001888fa0f4 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
26 UIKit 0x00000001888f9dbc -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
27 UIKit 0x00000001888fa0f4 -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:forSecondPass:]
28 UIKit 0x00000001881d483c __60-[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded]_block_invoke
29 UIKit 0x00000001881d3968 -[UIView(AdditionalLayoutSupport) _withAutomaticEngineOptimizationDisabledIfEngineExists:]
30 UIKit 0x00000001881d4470 -[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded]
31 UIKit 0x00000001888fa798 -[UIView(AdditionalLayoutSupport) _updateConstraintsAtEngineLevelIfNeeded]
32 UIKit 0x00000001883d1fcc -[UIView(Hierarchy) _updateConstraintsAsNecessaryAndApplyLayoutFromEngine]
33 UIKit 0x00000001880cb038 -[UIView(CALayerDelegate) layoutSublayersOfLayer:]
34 QuartzCore 0x00000001878d1f14 -[CALayer layoutSublayers]
35 QuartzCore 0x00000001878ccb20 CA::Layer::layout_if_needed(CA::Transaction*)
36 QuartzCore 0x00000001878cc9e0 CA::Layer::layout_and_display_if_needed(CA::Transaction*)
37 QuartzCore 0x00000001878cc07c CA::Context::commit_transaction(CA::Transaction*)
38 QuartzCore 0x00000001878cbdd0 CA::Transaction::commit()
39 UIKit 0x00000001880ce0dc _UIApplicationHandleEventQueue
40 CoreFoundation 0x0000000182b305a4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
41 CoreFoundation 0x0000000182b30038 __CFRunLoopDoSources0
42 CoreFoundation 0x0000000182b2dd38 __CFRunLoopRun
43 CoreFoundation 0x0000000182a5cdc0 CFRunLoopRunSpecific
44 GraphicsServices 0x000000018dbb0088 GSEventRunModal
45 UIKit 0x0000000188136f60 UIApplicationMain
46 Olgera 0x000000010016c938 main (main.m:15)
47 libdyld.dylib 0x0000000197f968b8 start
另外我有疑问是 UILabel 的 length 属性导致了这个还是 NSNull 对象是另一种类型的对象?
最佳答案
[NSNull null]
是一个特殊的单例值,用于表示不允许 nil
的集合类型中的 null
值,例如 NSArray
和 NSDictionary
。
如果您知道某个值(例如来自服务器)可以是 null
,则您需要在尝试将其视为其他值之前检查该值
NSDictionary *data = ...
NSString *name = [data objectForKey:@"name"];
// This will cause a crash if the value of the
// `name` key was `null` since objectForKey:
// will return [NSNull null]
if ([name length] > 0) {
// Do something
}
您要做的是在以任何方式使用它之前检查该值是否不是 null
if (name != [NSNull null]) {
if ([name length] > 0) {
// Do something
}
}
关于ios - NSInvalidArgumentException -[NSNull 长度] : unrecognized selector sent to instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32808377/
我知道我的问题有点含糊,但我不知道如何描述它。我问过很多地方,但似乎没有人理解我为什么要这样做。但请耐心等待,我会解释为什么我想要这样的东西。 我使用 Liquid Templates 允许用户在我的
这个问题在这里已经有了答案: what is the difference between null != object and object!=null [duplicate] (2 个回答) 7年
当我在我的本地主机 Google App Engine 应用程序中将日志记录级别更改为 FINE 时,我开始在我的跟踪堆栈中看到这些: Apr 17, 2013 4:54:20 PM com.goog
Python 有内置函数 type : class type(object) With one argument, return the type of an object. The return v
我正在使用深度学习进行语义分割,我遇到了以下术语:语义分割、实例检测、对象检测 和对象分割. 它们有什么区别? 最佳答案 这些术语的某些用法对用户而言是主观的或依赖于上下文,但据我所知对这些术语的合理
我面临 -[NSConcreteMutableData release] 的问题:消息发送到已释放的实例,我也附上了我的示例代码。 - (IBAction)uploadImage { NSString
我试图显示模型中的单个实例(数据库行),其中多个实例共享多行的相同字段(列)值。为了澄清这一说法,我有以下情况: ID/Title/Slug/Modified 1 Car A 1s ag
我正在尝试使用mockito来模拟服务。然而,我没有找到一种方法来告诉mockito,给定一个类的实例返回给我相同的实例: 类似于: given(service.add(any(Individua
我知道如何从父类(super class)原型(prototype)创建子类原型(prototype)。但是,如果我已经有了父类(super class)对象的实例来创建子类对象怎么办? 在 JS 中
鉴于 Kotlin 1.1。对于某个类的 instance,instance::class.java 和 instance.javaClass 似乎几乎是等价的: val i = 0 println(
这个问题在这里已经有了答案: 8年前关闭。 Possible Duplicate: Find out the instance id from within an ec2 machine 我正在寻找从
为什么我的 Instantiate 函数没有创建 That 的“空白”实例? 我有以下最小类: classdef That < handle properties This = '' end
Session session = HibernateUtil.getSessionFactory().openSession(); Transaction tx = session.beginTra
考虑以下几点: public class A { public String name = "i am a A instance"; } public class B extends A {
我正在使用 Scalr 来扩展网站服务器。 在 Apache 服务器上,我安装了 Sakai,并为 Linux 机器创建了一个启动脚本。 问题是,如何确保MySQL实例在Apache服务器启动之前启动
Android Realm DB 允许使用 Realm.getInstance() 获取多个实例。这些中的最佳实践是什么? :1.创建单个实例(应用程序范围)并在任何地方使用它2. 在需要时获取一个新
我很难理解为什么修改实例 a 中的属性会修改实例 b 中的相同属性。 var A = function (){ }; A.prototype.data = { value : 0 }; var
我将 Weka 用作更长管道的一部分,因此,我无法承受将所有数据写入文件或数据库只是为了创建一个 Instances。目的。我可以即时做的是创建 Instance 的列表对象。 来自 this pag
class C: def func(self, a): print(a) c = C() print(c.__dict__) # {} c.func = c.func # c.func i
Angular Routing 文档提到了组件实例创建、组件实例激活和路由激活。 文档没有解释这些概念的区别,以及每次创建/激活发生的时间。 问题 实例创建和实例激活有什么区别? 实例激活和路由激活有
我是一名优秀的程序员,十分优秀!