问题标签 [nsnull]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7228 浏览

ios - -[NSNull 长度]:发送到实例的无法识别的选择器

如何找到 -[NSNull length]: unrecognized selector sent to instance 发生的确切位置我的意思是行号。

0 投票
2 回答
2128 浏览

objective-c - NSJSONSerialization 和 NSNull

偶尔我会遇到像“'data': null”这样的 JSON 结构。NSJSONSerialization 把它们变成了 NSNull,说实话,这很烦人。

我理解这背后的原因 - 像 NSDictionary 这样的东西不能包含 nil 值。

这很好,但是在这些情况下,我宁愿看到反序列化数据结构中缺少的元素,这在许多情况下实际上简化了处理。是否有可以传递给 NSJSONSerialization 的选项或配置,并要求它完全做到这一点 - 只是错过反序列化数据结构中的那些 nil 吗?

0 投票
1 回答
2290 浏览

objective-c - [NSNull 长度]:无法识别的选择器发送到实例 0x43fe068

我不确定这是从哪里来的。我在异常设置上设置了一个断点,但它并没有告诉我真正发生了什么:

我也试过:

这是有道理的,但并没有告诉我这真的发生在哪里。

0 投票
2 回答
1057 浏览

ios - Parse.com - 将指针从用户类设置为安装类

嗨,我有一个应用程序,我已经设置了推送通知并且它们正在工作。我的最后一步是,当用户打开应用程序并询问他们是否要允许推送通知时,我想将该用户的指针设置为与该手机关联的安装 ID。我可以用这个来做到这一点

这是我的用户类的一部分图片以澄清

在此处输入图像描述

但是我不想每次用户打开应用程序时都保存,如果尚未设置,我只想保存一次。所以我打算用这个 if 语句来检查它是否已经设置好了

但是如果用户点击“不允许推送通知”就会出现问题,因为没有设置安装对象,所以该电话/用户的安装对象为空,上面的 if 语句给出了下面的错误

应用程序失败。是否有另一种/更好的方法来检查指针是否已设置,这样如果用户点击“不允许”然后重新打开应用程序,它就不会退出。

提前感谢您的帮助,我真的很感激!!!

编辑

应用程序委托代码

我之所以这样设置,是因为我有一个云功能,可以向用户发送推送,并从用户那里获得指向安装 ID 的指针来发送推送,也许我可以考虑翻转它?

如果用户点击不允许。Parse.com 不会保存该设备的安装 ID 吗?

谢谢

0 投票
1 回答
218 浏览

ios - isEqual: 和 isKindOfClass: - 哪个更快?

由于各种原因,为了保持数组的索引与其他事物对齐,我[NSNull null]在数组内部。像这样:

在遍历数组以确保忽略该null值时,我正在考虑使用两种方法,但我不确定哪种方法更快。

方法一

方法二

我的问题是:由于我正在遍历这个数组以适当地处理平铺滚动视图(因此它在用户滚动时被执行多次,并且它尽可能快地运行至关重要),这些方法中的哪一种更快?

0 投票
3 回答
1651 浏览

ios8 - 是什么导致 NSNull 长度无法识别的选择器 keyCommand 错误

我在一个项目中有这个类/故事板场景,直到昨晚我在过去的 4 周里工作得很好。

我已经设法注释掉几乎所有内容,但在点击 UITextField 并输入数字时仍然会崩溃。只有当我输入一个值时它才会崩溃,否则它不会崩溃。

这是我现在正在运行的课程:

最初它的 IBOutlets 为 ! 代替 ?它有一个 CoreData 堆栈属性,tableview 背景的一些模糊背景效果,从 viewDidLoad 上的健康存储中获取用户的体重,一个用于健康存储获取的谓词辅助方法以及一个取消和完成按钮。完成按钮从文本字段中捕获数据,进行一些计算并将数据保存到健康存储和核心数据。但是所有这些都已被注释掉,只留下上面看到的内容。

有一次我确实设法在控制台中获得了一个奇怪的堆栈跟踪(似乎再也无法得到它),内容如下:

[UI物理键盘事件_matchesKeyCommand:]

和其他一些人就在它之前喜欢它。

我被难住了,有什么想法吗?异常断点是其中之一,但它只是将我带到了采用 UIResponder 的 AppDelegate 类声明行。我学习并重建。我不知道还要寻找什么。截屏

我认为它是一个损坏的故事板文件,因为我已经添加和删除了带有文本字段的场景,并且它们的行为都相同。这是我的 storyboard.xml 文件:

http://www.santiapps.com/iOS/Main.storyboard.xml

0 投票
1 回答
144 浏览

cocoa - 使 NSNull 符合 NilLiteralConvertible

我试图使NSNull符合NilLiteralConvertible,但我遇到了巨大的挫败感:

首先,我不得不做init一个convenience,因为我不能在扩展中添加指定的初始化程序。

然后,编译器发疯并坚持必须进行初始化required,并且在抱怨required必须将初始化程序直接添加到类而不是扩展之后立即进行。怎么回事?!

操场

任何人都知道发生了什么以及如何使NSNull符合这个简单的协议?

我正在 Xcode 操场上对此进行测试。

0 投票
2 回答
2161 浏览

ios - 当 NSData 属性为 nil 时领域崩溃

我有一个使用 NSData 类型的“图像”属性定义的领域类。我已将 +defaultPropertyValues 方法的 NSDictionary 返回值中“图像”的默认值设置为

@"image":[NSNull null]. 这表示没有设置图像值。

但是,保存 Realm 对象时程序会崩溃,并出现以下错误:

您能否告知 Realm 对象中的 NSData 属性是否允许 nil 值。如果是这样,是否有不同的方式来表示空的 NSData 属性。

设置非零 NSData 值时,该问题不存在。

先感谢您

更新:代码:

当 uploadImage 设置为 nil 或从 NSDictionary 获取默认值时会发生错误。我使用的解决方法是使用创建一个 0 字节的 NSData["" dataUsingEncoding:NSUTF8StringEncoding]

0 投票
3 回答
1384 浏览

ios - iOS 8 工作,但 iOS 7 崩溃 -[NSNull 长度]:无法识别的选择器发送到实例

我一直在寻找这个问题的答案,但仍然无法解决如何解决这个问题。This -[NSNull length]: unrecognized selector sent to instance and this [NSNull length]: unrecognized selector sent to instance 0x43fe068没有帮助。

我正在开发一个带有 Parse 后端的聊天应用程序,我遇到了一个时间戳问题,聊天消息出现乱序,所以我使用 Databrowser 从我的 Parse 数据库中删除了乱序的行。当我测试应用程序时,这似乎解决了我的 iPhone 6 Plus 和运行 iOS 8 的 iPhone 6 模拟器上的问题。但是,当我在运行 iOS 7 的 iPhone 5s 上打开同一个聊天室时,应用程序始终崩溃以下错误。

-[NSNull length]: unrecognized selector sent to instance

我不知道为什么删除一行会导致这种情况发生,为什么只在 iOS 7 上?我设置了一个 All Exceptions Breakpoint,这是有问题的行以及屏幕截图。

在此处输入图像描述

NSNull length即使我注释掉上面的行,我仍然会崩溃,但它会在通用 main.m 处中断。

任何有关如何解决此问题的建议将不胜感激。谢谢。

编辑 1:这是我的 PrivateInbox 正在加载的 ChatView.m 中的代码。

编辑 2:我从 Nick Lockwood https://github.com/nicklockwood/NullSafe尝试了 NSNullSafe ,它允许私人收件箱在不崩溃的情况下打开,并且让我通过了 NSNull Length 错误,但我认为这只是掩盖了问题,我仍然没有不知道为什么它在 iOS 8 上没有崩溃,但在 iOS 7 上却崩溃了。

0 投票
2 回答
1044 浏览

ios - 检查计数时 NSMutableArray 崩溃

我正在使用NSMutableArray对象名称myArray:当服务器没有数据时我的可变数组打印

在下一行代码中,如果检查计数它会崩溃。如何解决这个问题请帮助我。

错误:

打印数组:2015-01-24 10:44:59.852 RemoteAccess[1061:60b] -[NSNull count]:无法识别的选择器发送到实例 0x38b21a60