Jul*_*ian 1 crash null objective-c nsstring
我在我的应用程序中遇到随机崩溃,直到我将其缩小到特定方法.在那个方法中,我期待NSString一个参数.这NSString有时可以是零,在这种情况下,该方法结束并且不会造成伤害.
当我运行我的方法的参数时,NSLog(@"%@", myString)我发现我得到其中一个:
前两个是我的方法预期和处理.第三个,<null>,崩溃了我的应用程序-[NSNull length]: unrecognized selector sent to instance 0x1b2ace8.
我通过检查nil或找到解决问题的方法isKindOfClass,但我的问题是(null)和<null>之间的区别是什么?.
(null)是NSLog()使用%@带有nil值的格式说明符时打印的字符串.<null>是发送description到NSNull单例(您通过其访问[NSNull null])的结果.
NSNull在Cocoa集合(NSArray和NSDictionary)中用作"无对象"占位符,因为它们不能包含nil.
这两个描述字符串容易混淆,人们可能会争辩说NSNull应该有一个针对它的错误,以使其更加清晰.
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |