ZJ

作者: Jeff_Kitty | 来源:发表于2017-09-16 18:03 被阅读13次

1.枚举定义:
typedef NS_ENUM(NSInteger,JFType) {
JFOneType = 1,
JFTwoType,
}

2.适配64bit,将类型转换的影响降到最低:
int - > NSInteger
unsigned - > NSUInteger 
float - > CGFloat 
动画时间 - > NSTimeInterval

这些都是SDK中定义的类型,而我们大部分时间都在和SDK的Api打交道,使用它们能将类型转换的影响降到最低。

3.Objective-C中有Designated和Secondary初始化方法的概念,Designated方法是提供所有的参数,而Secondary方法是提供部分参数,其他参数以默认的形式提供

4.使用weak的情况,weak是ARC中才会出现的,和strong修饰符相对应,都是用于修饰对象的,一般在可能出现循环应用的地方使用weak,比如block,代理,还比如,自身已经对它进行了一次强引用,后面又需要引用时,比如IBOutlet中。

5.Copy一般用用于修饰NSArray,NSDictionary,NSString等含有可变子类型的对象,因为如果使用strong修饰,只是会让这个对象的引用计数器+1,当我们不小心将这个指针指向一个变数子类时,当这个子类发生变化时,可能会造成修改对象的值。当使用Copy修饰可变对象时,会产生一个不可变对象,当调用可变对象的方法时,编译不会报错,但运行时就会找不到方法。_name = [name copy];

6.@property本质就是ivar+getter+setter,分别是实例变量+setter方法+getter方法,系统会自动为实例变量生产getter和setter方法。
property在runtime中的本质是objc_property_t,属于结构体,包含attribute和name两个属性,而attribute的本质是objc_property_attribute_t,用于定义property中的属性如类型,原子属性,内存语义,实例变量,T类型,C代表copy,N代表nonatomic等。

相关文章

  • ZJ

    1.枚举定义:typedef NS_ENUM(NSInteger,JFType) {JFOneType = 1,J...

  • ZJ

    世界三大宗教通常指的是基督教、伊斯兰教以及佛教,它们都各自被一部分国家列为国教。 世界三大宗教中以基督教人数最多,...

  • zj

    一心一念一人渡。 一言一语一人过。 一回一渡一来生。 一景一情一故事。 愿:游君心中, 君在梦中, ...

  • Sass(zj)

    安装Ruby 采用阿里镜像库- gem sources --remove https://rubygems.org...

  • MS ZJ

  • 随笔zj

    别想太多,好好生活,爱你的人不会让你什么都没有,路漫漫终有一归,幸与不幸都有尽头

  • 我与乡村教师的不解之缘

    文/zj当年明月 ...

  • 9.5

    zj st go shit!

  • 指尖网络传媒

    http://www.zj0763.com

  • 2019-10-10

    职称网密码:zj123456

网友评论

      本文标题:ZJ

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