美文网首页
OC语法基础

OC语法基础

作者: JanetDong | 来源:发表于2018-06-06 16:46 被阅读10次

一、属性与成员变量
属性表达实例状态,描述类型对外结果,相比直接访问成员变量,属性可以做更多的控制。
默认情况下,编译器会为属性生成getter和setter方法以及一个成语变量。

1.当用户手动重写了set方法时,@property会生成get方法和带下划线的成员变量
2.当用户手动重写了get方法时,@property会生成set方法和带下划线的成员变量
3.当用户手动重写了set和get方法时.@property不会生成待下划线的成员变量

二、类方法
由类调用的方法
优势:不依赖对象,不占用内存空间
劣势:不能访问成员变量

三、动态类型检测
1).判断对象是不是指定类的对象或者指定类的子类对象.

  • (BOOL)isKindOfClass:(Class)aClass;
    2).判断对象是不是1个特定类型的对象,不包括子类.
  • (BOOL)isMemberOfClass:(Class)aClass;
    3).判断1个类是不是另外1个类的子类.
  • (BOOL)isSubclassOfClass:(Class)aClass;
    4).判断对象中是否能响应指定的方法. 这个最常用.
  • (BOOL)respondsToSelector:(SEL)aSelector;
    5).判断类中是否能响应指定方法.
    +(BOOL)instancesRespondToSelector:(SEL)aSelector;

四、关键字
nonatomic:非原子性,线程不加锁,性能高,安全性低.
atomic:原子性,线程加锁,性能低,安全性高.

retain:用于对象类型,生成set方法的内存管理代码.
assign:用于基本数据类型,不生成内存管理代码,直接进行赋值操作.

五、ARC中常见的所有权关键字
assign对应关键字__unsafe_unretained, 顾名思义,就是指向的对象被释放的时候,仍然指向之前的地址,容易引起野指针。
copy对应关键字__strong,只不过在赋值的时候,调用copy方法。
retain对应__strong
strong对应__strong
unsafe_unretained对应__unsafe_unretained
weak对应__weak。

六、@class与#import
import引入文件里面所有的内容,包括成员变量和方法.
@class仅仅告诉编译器,它修饰的是一个类而已.

七、有4个术语比较容易混淆:同步、异步、并发、串行
同步和异步主要影响:能不能开启新的线程
同步:只是在当前线程中执行任务,不具备开启新线程的能力
异步:可以在新的线程中执行任务,具备开启新线程的能力

并发和串行主要影响:任务的执行方式
并发:多个任务并发(同时)执行
串行:一个任务执行完毕后,再执行下一个任务

相关文章

  • 无标题文章

    OC基础语法 //整型 NSIntegera =10; //NSLog是OC里面的打印函数 NSLog(@"a =...

  • iOS培训总结

    一:OC基础语法1 //整型 NSInteger a =10; //NSLog是OC里面的打印函数 NSLog(@...

  • OC语法基础

    一、属性与成员变量属性表达实例状态,描述类型对外结果,相比直接访问成员变量,属性可以做更多的控制。默认情况下,编译...

  • OC 语法基础

    OC 的语法知识其实有蛮多,以下知识基础的一部分. 目录部分: @ 符号 在 OC 语言中,绝大部分的关键字使用的...

  • OC:基础语法☀️

    版权声明:本文为博主原创文章,未经博主允许不得转载。 学习目标 1.【了解】Objective-C语言简介 2.【...

  • OC基础语法

    // 数组(NSArray/NSMutableArray) // 不可变数组 NSArray *arr...

  • OC—基础语法

    学习目标 1.【了解】Objective-C语言简介 2.【掌握】第一个OC程序 3.【掌握】OC中的字符串 4....

  • OC基础语法

    简单了解OC 1.Objective-C简称Obj-C或者OC,Objective的意思就是面向对象的。2.OC其...

  • OC之01基础之基础语法

    01 语法概述 不妨将OC说成是面向对象的C语言,因为OC是在C语言的基础是建立的,而且在OC的语法中是完全...

  • OC-基础语法

    一、#include和#import的区别 1.#import是#include指令的增强版,能实现include...

网友评论

      本文标题:OC语法基础

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