- 浏览: 904324 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (466)
- iPhone, iOS , Objective-c (155)
- 数据库 (20)
- 设计模式 (5)
- 第三方包管理,cocoapod (2)
- 版本管理, SVN, Subversion, Git (1)
- Google, Android, Java (14)
- Wordpress (1)
- 职业素养 (3)
- 版本管理,git (3)
- 前端小技巧 (2)
- flash (1)
- javascript (5)
- Ruby (0)
- 编程语言 (1)
- 网络常识 (1)
- 找到生活好感觉 (5)
- 产品经理 (1)
- markdown (1)
- 云服务器 (1)
- iPhone (116)
- iOS (116)
- Objective-c (116)
- 学习技巧 (2)
- Google (5)
- Android (6)
- Java (21)
- python (1)
- sqlite (3)
- node.js (2)
- mongodb (2)
- 学习技巧,阅读 (2)
- 软件测试 (3)
- 架构设计 (2)
- 设计 (1)
- Spring framework (3)
- junit (1)
- Linux (2)
- 软件 (1)
- Struts2 (1)
- 版本管理 (3)
- SVN (3)
- Subversion (3)
- Git (3)
- mysql (5)
- quartz (1)
- 无关技术 (1)
- 前端 (1)
- Redis (1)
- 产品管理 (0)
- 计算机常识 (1)
- 计算机科学 (0)
- swift (1)
- 服务器 (2)
- 搜索 (1)
- Scala (1)
- J2EE (1)
- maven (1)
- 前端css (1)
- 英语 (1)
- 消息队列 (1)
- kafka (0)
- apache kafka (4)
- netbeans (1)
- IDE (2)
- 歌词 (1)
- 过滤器实现 (1)
- linux vim vi (1)
- jmeter (1)
- springcloud (1)
最新评论
-
hujingnemo:
不知道为什么打不开
CHM如何改编字体大小 -
weiboyuan:
求答案 weiboyuanios@163.com
iOS软件工程师面试题(高级) -
xueji5368:
这个现在已经广泛使用了嘛!
RoboGuice入门 -
Yao__Shun__Yu:
...
CHM如何改编字体大小 -
353144886:
非常之详细 美女求认识
sqlite数据类型 datetime处理
Using NSNull
The NSNull class defines a singleton object you use to represent null values in situations where nil is prohibited as a value (typically in a collection object such as an array or a dictionary).
NSNull类定义一个单例对象,用来在集合中表示null值。因为集合不允许nil.
NSNull *nullValue = [NSNull null];
NSArray *arrayWithNull = @[nullValue];
NSLog(@"arrayWithNull: %@", arrayWithNull);
// Output: "arrayWithNull: (<null>)"
一点很重要的是NSNull实例不同于表达逻辑的NO或false,NSNull表示一个空值,虽然NSNull实例主义上是与nil相同,但是实际上还是不同的。去比较null对象值,你必须直接进行对象比较。
id aValue = [arrayWithNull objectAtIndex:0];
if (aValue == nil) {
NSLog(@"equals nil");
}
else if (aValue == [NSNull null]) {
NSLog(@"equals NSNull instance");
if ([aValue isEqual:nil]) {
NSLog(@"isEqual:nil");
}
}
// Output: "equals NSNull instance"
The NSNull class defines a singleton object you use to represent null values in situations where nil is prohibited as a value (typically in a collection object such as an array or a dictionary).
NSNull类定义一个单例对象,用来在集合中表示null值。因为集合不允许nil.
NSNull *nullValue = [NSNull null];
NSArray *arrayWithNull = @[nullValue];
NSLog(@"arrayWithNull: %@", arrayWithNull);
// Output: "arrayWithNull: (<null>)"
一点很重要的是NSNull实例不同于表达逻辑的NO或false,NSNull表示一个空值,虽然NSNull实例主义上是与nil相同,但是实际上还是不同的。去比较null对象值,你必须直接进行对象比较。
id aValue = [arrayWithNull objectAtIndex:0];
if (aValue == nil) {
NSLog(@"equals nil");
}
else if (aValue == [NSNull null]) {
NSLog(@"equals NSNull instance");
if ([aValue isEqual:nil]) {
NSLog(@"isEqual:nil");
}
}
// Output: "equals NSNull instance"
发表评论
-
oc为啥不用try catch
2016-03-23 11:56 1404简单的来说,Apple虽然同时提供了错误处理(NSError) ... -
ReactiveCocoa笔记
2016-03-14 12:31 0为什么使用MVVM?为什么使用ReactiveCocoa? 概 ... -
PINCache
2016-01-19 15:11 948PINCache是线程安全的键值缓存框架,用来储存难以获取或重 ... -
Swift设计模式
2015-12-29 12:04 0Swift设计模式 -
Understanding Swift access control
2015-12-29 12:03 0Swift takes an unusual approuac ... -
cocoapods因GEM_HOME升级遇到问题解决办法
2015-12-17 14:40 926Installing CocoaPods on OS X 10 ... -
swift 闭包的比较写法
2015-12-16 11:10 755let names = ["Chris", ... -
iOS 生成二维码,生成条形码图片
2015-12-03 15:44 1472#pragma mark - 生成条形码以及二维码 // ... -
解决cocoapods 更新慢的问题
2015-11-23 17:01 756最近使用CocoaPods来添加第三方类库,无论是执行pod ... -
iOS中级面试题
2015-11-20 15:12 1182OneV‘s Den在博客里出了10道iOS面试题,用他的话是 ... -
cocoapods出错解决方法
2015-11-09 13:09 746自定义GEM_HOME $ mkdir -p $HOME/So ... -
oc时间从美国时间改到中国时间
2015-10-19 14:12 979_formatter = [[NSDateFormatt ... -
27个iOS开发库
2015-07-24 16:10 769超长慎入列表: DZNEmptyDataSet(UI,空表格 ... -
Values of type 'NSInteger' should not be used as format arguments; add an explic
2015-07-24 10:10 844Values of type 'NSInteger' shou ... -
iOS架构心得体会
2015-05-18 18:35 815好的架构不是设计出来的,而是进行出来的。 我的iOS工程架构 ... -
UICollectionView NSInternalInconsistencyException出现的原因
2015-05-11 11:32 3414'NSInternalInconsistencyExcepti ... -
XLForm-iOS表单库
2015-05-08 14:44 909XLForm是最灵活和强大的iOS类库,用于创建动态table ... -
Info.plist Utility Error: “Info.plist couldn't be opened because there is no suc
2015-05-06 16:13 689http://stackoverflow.com/questi ... -
iOS中Autolayout中各种情况的使用的width,height策略
2015-04-30 15:33 685可以总结为: 如果项目不支持横屏显示,使用w:Compac ... -
一句话加上下拉刷新
2015-04-29 18:22 770怎么一句话添加上拉刷新? https://github.co ...
相关推荐
当需要表示一个对象存在,但其值为空时,可以使用NSNull的对象。例如,当一个数组应该包含一个对象,但实际上该位置没有对象时,可以放一个[NSNull null]。它不同于nil,因为nil是用于对象指针的,而NSNull是一个...
③ NSNULL:[NSNull null] 是一个对象,他用在不能使用 nil 的场合。 因为在 NSArray 和 NSDictionary 中 nil 有特殊的含义(表示列表结束),所以不能在集合中放入 nil 值。如要确实需要存储一个表示“什么都没有”...
此外,处理nil值时可使用NSNull来表示空值。 7. 自定义类和对象: 开发者还需学会如何编写自定义类,包括声明和实现类,以及如何定义类的接口和实现部分。对象的数据属性和行为方法也是构建应用程序时必须掌握的...
- **使用NSNull表示nil**: - NSNull类用于表示空值。 - 在某些情况下,可以替代nil使用。 - **编写自定类**: - **声明并实现类**: - 在Objective-C或Swift中定义类。 - 包括接口和实现两个部分。 - **...
文档还指导开发者如何使用NSNull表示nil,以及如何编写自定义类和方法。最后,文档通过一系列的实践教程,如添加数据、载入数据、显示数据,来加深对数据处理的理解。 5. 后续学习资源 文档最后提供了一系列的资源...
对于Objective-C,可以使用NSNull对象来代表空值,但必须确保正确处理这种特殊对象。 字典取值是另一个潜在的崩溃点。如果尝试从字典中获取一个不存在的键的值,程序会崩溃。使用`object(forKey:)`方法时,如果键不...
因为nil不能直接放入集合中,所以我们需要使用NSNull来代替。这样可以避免混淆,并确保程序的正常运行。 ```objc NSArray *array = [NSArray arrayWithObjects:@"one", @"two", [NSNull null], nil]; ...
在Nullability出现之前,Objective-C开发者通常会使用NSNull来表示一个空值,这在很大程度上依赖于文档说明和人为的代码约定,而使用Nullability注解后,可以更直观地声明某个对象是否可以为nil,比如使用NonNull...
如果需要反向操作,即从JSON数据创建模型对象,可以使用`NSKeyedUnarchiver`,它也会自动处理`NSNull`。 ```objc NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:0 ...
文档提到如何使用NSNull来表示nil值,并介绍了如何声明和实现自定义类,这是开发过程中非常重要的一个环节。 7. 接口与实现(Interface and Implementation):接口定义了对象的数据存储方式,而实现则定义了对象的...
- 对于数组,可以使用`containsObject:`方法检查是否存在`NSNull`对象。 - 对于字典,可以检查键值对的值是否为`NSNull`。 3. **安全地解析数据** - 使用`if let`或`guard let`进行可选绑定,这样在值不存在时,...
由于Swift不允许返回数组中包含不同类型的元素,所以不能像Objective-C那样使用NSNull。取而代之的是,我们可以使用可选类型(Value?)来表示可能为空的值,用nil来表示字典中没有找到对应的值。以下是如何实现这个...
该项目为Objective-C编写的ZXAvoidCrash设计源码,致力于预防NSNull对象和Objective-C常用对象(如NSArray/NSMutableArray, NSString/NSMutableString等)的崩溃。该工具支持KVC调用,包含455个文件,涵盖181个头...
使用这个处理过的数组去加载数据,就不会再出现因`NSNull`调用`length`等方法导致的错误了。 理解这个问题对于JavaScript开发者也很重要,因为JSON是JavaScript原生支持的数据格式。在JavaScript中,`null`和`...
NullSafe是NSNull上的一个简单类别,它为无法识别的消息返回nil而不是引发异常。 这消除了导致崩溃的常见原因,例如,JSON数据包含空值而不是数组或字符串,并且应用程序中的网络代码不希望它。 支持的iOS和SDK版本 ...
NSNUllCategory相信不少开发者,都被NSNull坑过,最常见的是服务器返回的json里面,说好的字典、数组、数字,结果返回的是空值。 这个时候,NSJSONSerialization 会自动把他们换成 NSNull。当我们再去用dict[@...
这段代码使用了`enumerateKeysAndObjectsUsingBlock:`方法遍历`originalDict`,当值不为空或`NSNull`时,将其添加到`filteredDict`中。 除了手动过滤,还可以使用Swift的`filter`方法,但这需要项目中包含Swift代码...
在Objective-C或Swift中,当我们使用如`NSJSONSerialization`或第三方库如`SwiftyJSON`解析JSON时,如果JSON数据中的某个字段为null,尝试将它转换为对象时,可能会导致程序崩溃。为了防止这种情况,我们需要采取...