属性和点语法(16.5.9)

本文深入探讨了Objective-C与Swift在iOS开发领域的应用与区别,包括语言特性、性能优化、社区支持及未来趋势。通过对比分析,帮助开发者选择更适合的编程语言进行iOS应用开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

self和super关键字:

self指对象本身,用来调用对象自身的方法;

super是对象的父类,用来调用父类的方法;

id与nil:

id:用于表示任何类型的对象;

id在使用时不需要*符号,因为已被预定义为指针类型

nil:表示空对象,通常用于对象赋初值;

nil,可以响应方法请求而不会导致异常;

@class和#import:

#import会包含这个类的所有信息,包括实体变量和方法,

@class用于声明类的名称,不包括实体变量和方法;


Property 属性

property属性功能:简化设置器和访问器。通过两个关键字@property、@synthesize

@synthesize:只有当访问器或设置器不存在,才会自动生成。

在@property()括号中,可以填写的属性:

actomic:原子性(默认)

nonatomic:非原子性

atomic是oc中的一种线程保护技术,是防止在未完成的时候,被另外一个线程使用,造成数据错误。

readwrite:默认

readonly:只读

assign:默认,引用计数不增加

retain:引用计数增加1

strong:强引用,引用计数增加1

weak:弱引用,引用计数不增加

strong与weak是ios5.0以后增加的属性


点语法

点操作在“=”右边是调用属性的访问器;

点操作在“=”左边是调用属性的设置器;

如:

stu.age = 27; 等效于[stu setAge:27];(设置器)

int myAge = stu.age;等效于 int myAge = [stu age]; (访问器)


方法重载:

条件:定义一个同名的方法,新方法必须具有相同的返回类型,且参数个数与重载的方法相同。


权限控制:

实例变量作用域范围在这个类体内,默认继承的成员可以直接使用

oc默认是protected

oc中只支持单继承



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值