NS_ASSUME_NONNULL_BEGIN & NS_ASSUME_NONNULL_END 这组宏是成对使用的,不得不说我们自己写代码的时候使用的很少,以至于遗漏这个知识点,现在我们就来看看这两个宏会引出什么问题。 这组宏会引出几个关于Objective-C新特性的知识点: Nullabilit ...
分类:
其他好文 时间:
2017-02-17 19:55:09
阅读次数:
220
字典 -> 自定义对象: self setValuesForKeysWithDictionary:<#(nonnull NSDictionary<NSString *,id> *)#> 自定义对象 -> 字典: Person *p = [[Person alloc] init]; p.name = ...
分类:
其他好文 时间:
2017-01-14 13:44:55
阅读次数:
205
苹果在 Xcode 6.3 以后,为了解决 Swift 与 OC 混编时的问题,引入了一个 Objective-C 的新特性:nullability annotations。 这一新特性的核心是两个新的类型注释:__nullable 和 __nonnull。从字面上我们可以猜到,__nullable ...
分类:
编程语言 时间:
2016-10-28 22:52:05
阅读次数:
189
iPhone拍出来的照片一般大小在1-10M,我们在上传照片时,不可能上传如此大的图片到服务器,一般我们会对照片进行压缩。 常用的做法是,使用这个函数对图片压缩 UIImageJPEGRepresentation(UIImage * __nonnull image, CGFloat compress ...
分类:
移动开发 时间:
2016-09-27 19:35:37
阅读次数:
464
1.关键字:可以用于属性 方法和返回值参数中 关键字作用:提示作用 告诉开发者属性信息 关键字的目的:迎合swift 强语言,swift必须要指定一个对象是否为空 关键字好处:提高代码规划,减少沟通成本 仅仅是提供警告并不会报编译错误 nullabel作用 :提示可能为空 语法 1 @propert ...
分类:
其他好文 时间:
2016-09-09 10:00:49
阅读次数:
327
iOS9 新出的关键字:用来修饰属性,或者方法的参数,返回值 好处:1.迎合swift 2.提高我们开发人员开发规范,减少程序员之间的交流 注意:iOS9新出的的关键字nonnull,nullable,null_unspecified,null_resettable只能修饰对象,不能修饰基本数据类型 ...
分类:
移动开发 时间:
2016-07-28 13:59:43
阅读次数:
176
然后看一下setObject:forKey: 、 setValue:forKey: 、 setValue:forKeyPath: 的标准调用语句: [muDict setValue:<#(nullable id)#> forKey:<#(nonnull NSString *)#>];[muDict ...
分类:
其他好文 时间:
2016-07-21 18:07:48
阅读次数:
180
前言: 在iOS 9 苹果推出了很多关键字, 目的其实很明确, 主要就是提高开发人员的效率, 有益于程序员之间的沟通与交流, 在开发中代码更加规范! 1. nullable 与 nonnull nullable : 表示可以为 nil nonnull : 表示不可以为 nil 这两个关键字只能修饰对 ...
分类:
移动开发 时间:
2016-07-08 10:06:41
阅读次数:
176
//1、声明属性可以为空的三种写法: //2、声明属性可以为空的三种写法: 注: 以上三种写法第一种写法用的最多,后两种基本不怎么用 //3、在NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END之间,定义的所有对象属性和方法默认都是nonnull //4、在方 ...
分类:
移动开发 时间:
2016-07-06 23:28:54
阅读次数:
256
1、nonnull:字面意思就能知道:不能为空(用来修饰属性,或者方法的参数,方法的返回值) 代码: 这样,你在使用以上方法的时候会出现这种效果提示 同样,使用属性的时候: 2、nullable:表示可以为空(使用方法和上面几乎一样,但是没有发现和上面类似的宏) 代码(大概看一下,参考上面就行了): ...
分类:
移动开发 时间:
2016-06-27 15:20:06
阅读次数:
222