Objective-C学习笔记(@property,id,instancetype)4.9

**1.增强@property:**自动生成getter和setter方法的声明和实现。

原理:①自动声明私有属性②自动生成getter和setter方法的声明和实现。

@property 数据类型 变量名

注意变量名要去掉下划线,如果同时重写getter和setter那么不回自动声明私有属性。

**2.@synthesize:**自动生成getter和setter的实现。

@synthesize 变量名;

**3.弱语言:**编译器在检查语法时不严格

**4.静态类型:**指针指向的是本类对象。

**5.动态类型:**指针指向的不是本类对象,可能是子类。即父类指针指向子类对象。

**6.编译检查:**能不能调用看指针的类型。

**7.编译检查:**能不能调用看对象里有没有这个方法。

**8.id:**万能指针,声明不需要加*,可以指向任意的OC对象,

**9.id和NSObject的区别:**NSObject会做编译检查,id只能调用对象的方法,不能使用点语法。

**11.id和instancetype的区别:**instancetype只能作为方法返回值,id可以是指针变量、参数、返回值。instancetype有类型,代表当前类的对象。id仅是一个指针,是地址。

12.instancetype:方法返回当前类的对象。创建用self,返回用instacetype。

**13.respondsToSelector:**判断当前对象是否有这个方法。

**isKindOfClass:**判断当前对象是不是指定类的实例。

**isMemberOfClass:**判断当前对象是否为指定类的实例,不包括子类。

**isSubclassOfClass:**判断当前类是否为另一个类的子类。

14.new是alloc和init组合,alloc是类方法,创建这个类的一个对象。init是对象方法,初始化对象,为对象的属性赋默认值。Person new= \[ Person alloc init ]。

init:如果是基本数据类型就是0,如果是C指针就是NULL,OC指针就是nil,

重写init规范:-(instancetype)init{

if(self = super init){

//赋值

}

}

如果要传参方法名为initwith×××

相关推荐
不瘦80斤不改名29 分钟前
05-vibe-coding-向agentic-engineering演进
人工智能·笔记·python·prompt
九硕智慧建筑一体化厂家1 小时前
直流照明|无尘风淋室照明,高均匀无频闪,适配洁净车间高频合规工况
大数据·人工智能·笔记·智慧城市
LATASA1 小时前
【 从0到1构建 Agent Harness学习笔记】
网络·笔记·学习
weixin_431600441 小时前
做 Agent 会用到的 Node API(3):异步与流
前端·学习·ai·agent·ai编程
FakeOccupational1 小时前
【电路笔记 仿真】SPICE仿真器软件 LTspice:绘制简单电路(新建图页+添加组件)并仿真+模型导入+SUBCKT (子电路)绘制与使用+特殊器件绘制
笔记
70asunflower2 小时前
Triton 从 0 到 1 完整学习教程
学习·triton
天国梦2 小时前
2026年英语教学数字化工具深度测评:天学网、腾讯英语君、翼课网横向对比
人工智能·学习
是上好佳佳佳呀2 小时前
【深度学习|Day01】PyTorch 深度学习笔记(上):框架认知与张量基础
pytorch·笔记·深度学习
x17388062733 小时前
目录遍历漏洞
笔记·目录遍历漏洞
砚凝霜4 小时前
软考网络工程师|第 5 章 广域网基础技术完整备考笔记
网络·笔记