美文网首页
iOS 区分一些关键字和修饰词

iOS 区分一些关键字和修饰词

作者: 儒雅的减肥大哥 | 来源:发表于2019-02-13 16:02 被阅读8次
  • assign 和weak

两者都是弱引用,两者修饰的属性在指向一个对象时都不会增加对象的引用计数,当所指的对象被释放时,weak的属性会被置为nil,而assign不会,所以,weak相对来说比较安全。assign可以用非OC对象以及基本类型,而weak必须用于OC对象。

  • __block和__weak

__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,也可以修饰基本数据类型
__weak只能在ARC模式下使用,只能修饰对象(NSString),不能修饰基本数据类型
__block修饰的对象可以在block中被重新赋值被修改,__weak修饰的对象不可以修改

  • Equal 和 isEqualToString

isEqual: 判断两个对象的等同性,首先判断两个对象的地址是否相同,再判断类型是否一致, 然后再判断对象的具体内容是否一致,IsEqual 是 NSObject 的方法
isEqualToString 是 NSString 的方法,因此从继承关系角度来说isEqualToString 是 isEqual 的衍生方法,
isEqualToString: 直接判断字符串内容是否相等。
==: 对于基本数据类型,
==运算符比较的是值;
对于对象类型, ==运算符比较的是对象的地址是否相同。

相关文章

  • iOS 区分一些关键字和修饰词

    assign 和weak 两者都是弱引用,两者修饰的属性在指向一个对象时都不会增加对象的引用计数,当所指的对象被释...

  • iOS 修饰词 详解

    iOS 修饰词 详解 iOS 修饰词 详解

  • ##iOS开发之iOS9新特性1

    iOS开发之iOS9新特性 1. 新增的修饰词 nonnull \ __nonnull : setter 和 ...

  • 3. iOS面试题

    retain 和 copy 的区别 -- iOS学习-属性@property的修饰词 retain:创建一个指针,...

  • IOS属性关键字笔记

    关于IOS属性关键字的一些理解和笔记,对于weak,strong,assign,nonatomic,natomic...

  • Java 入门之变量和常量

    Java中的关键字,关键字的含义:Java 语言中有一些具有特殊用途的词被称为关键字。Java 关键字是区分大小写...

  • iOS面试题

    iOS 属性修饰词 weak,assign,strong,copy https://www.jianshu.com...

  • super与this的区别

    this关键字和super关键字的区别 this表示当前对象:this.属性 区分成员变量和局部变量this....

  • iOS 知识点(6)修饰词

    iOS属性中常用修饰词的总结 一、assign (ARC/MRC) 1、assign在ARC和MRC中都是存在的2...

  • iOS 修饰词 详解

    说说iOS常见的几个修饰词: 一、readOnly,readWrite readOnly: 根据字面意思,大家都很...

网友评论

      本文标题:iOS 区分一些关键字和修饰词

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