美文网首页常看iOS 开发
iOS 一些修饰关键字

iOS 一些修饰关键字

作者: T_aa | 来源:发表于2016-06-07 08:10 被阅读262次

很多方法,属性中...
有一些奇怪的关键字修饰...


o...
今天才知道粘代码要Markdown...
学习了...
MD好叼好叼...
Markdown学习链接...


__nullable、nullable

他们的作用一样...
修饰一个属性的值,或者参数是可空的...
可Null,nil...

有下划线和无下划线的区别...
有的放在属性修饰词的后面...
没有下划线的放在属性修饰词的前面...

@property (nonatomic, strong) NSObject * __nullable obj1;
@property (nonatomic, strong, nullable) NSObject * obj2;

- (void)daydayStudy3:(NSString * __nullable)language;
- (void)daydayStudy4:(nullable NSString *)language;


__nonnull、nonnull

他们的作用是...
修饰一个属性的值,或者参数不能为空...
使用的方法和nullable一样


__unused

如果在方法中定义了某个变量、或者传入了某个参数...
但是又不使用它...

可以用__unused来修饰他...
未使用不参与编译...
不然有警告...

__unused UIButton * btn = [UIButton new];

unsafe_unretained

作用和assign修饰对象的时候一样...
但是他多适用来修饰对象类型...
assign多适用修改基本类型...

他是指向数据的指针...
作用和weak一样...

但是...
他修饰的目标被释放的时候...
指针指向的数据被摧毁了...
但是这个指针还在...
变成了也指针...

我的理解是这样子...
不知道有这个隐藏的问题存在了...
用这个修饰词不是要很小心...


weak

在arc中...
weak用于修饰对象...
指针指向的数据释放了...
weak这个指针也自动变成nil...

delegate、outlet属性声明使用weak,delegate可以防止循环引用...


__block

block能访问局部变量.但不能修改...
如需修改需对这个变量加上__block...

如果要对全局变量...
或者当前的控制器...
进行访问或者修改...

需要...

__weak typeof(&*self)weakSelf = self;
__unsafe_unretained typeof(&*self)weakSelf1 = self;
__weak typeof(&*_obj1)weakObj1 = _obj1;

防止block和当前所在控制器对象互相持有不能释放造成内存泄露...
防止循环引用...


参考网上各种资料...


项目地址...

有问题欢迎指出...

共进...


相关文章

  • iOS9新特性

    iOS9新增的一些新特性 1.关键字 iOS9新出的关键字:用来修饰属性,或者方法的参数,方法的返回值好处1.迎合...

  • iOS 一些修饰关键字

    很多方法,属性中...有一些奇怪的关键字修饰... o...今天才知道粘代码要Markdown...学习了...M...

  • iOS9新特性之关键字

    关键字都是用来修饰右边的内容 iOS9新出的关键字:用来修饰属性,或者方法的参数,方法的返回值 好处:1.迎合sw...

  • Object-C 中变量的作用域

    iOS中,修饰变量的关键字有四个,分别是: 1 @public 被这个关键字修饰的变量是完全开放的,只要有这类的对...

  • ios9新特性(关键字)

    嗯嗯,马上就要 发布iOS新的版本了。嗯,码农又该忙碌了 ios9新特性(关键字) 新出的关键字:修饰属性,方法的...

  • iOS9新特性之关键字

    iOS9新特性之关键字 iOS9新出的关键字:用来修饰属性,或者方法的参数,方法的返回值 好处:1.迎合swift...

  • Block - __block关键字的底层实现原理

    参考文档 iOS中__block 关键字的底层实现原理 你真的理解__block修饰符的原理么? iOS Bloc...

  • iOS9新特性

    01-iOS9新特性之关键字 iOS9新出的关键字:用来修饰属性,或者方法的参数,方法的返回值 好处:1.迎合sw...

  • iOS - 基础

    iOS 属性修饰关键字都有哪些? atomic 原子性访问,对属性赋值的时候加锁 noatomic 非原子...

  • java-final关键字修饰变量

    在java中,final关键字可以对类、方法以及变量进行修饰,这里对final修饰变量进行一些探讨。final修饰...

网友评论

    本文标题:iOS 一些修饰关键字

    本文链接:https://www.haomeiwen.com/subject/ededdttx.html