一般用来修饰NSString等有对应可变类型的对象,因为他们有可能和对应的可变类型(NSMutableString)之间进行赋值操作,为确保对象中的字符串不被修改 ,应该在设置属性是拷贝一份。而若用strong修饰,如果对象在外部被修改了,会影响到属性。 unsafe_unretained:跟 weak 类似,声明一个弱引用,但是当引用计数为 0 时,变量不会...
objective-c 属性关键字 assign 默认(缺省)基本数据类型的赋值 MRC 手动管理内存 retain 对象的属性声明 copy ARC 自动管理内存 应用在对象类型的属性里面 strong 强指针 增加一个对象的引用权限(引用计数+1) weak 弱指针 不会增加一个对象的引用权限 非对象类型使用assign(可以省略) 对象类型使用retain/strong NSSt...
堆区(heap):一般由程序员分配与释放,基程序员不释放,程序结束时可能由操作系统回收(C/C++没有此等回收机制,Java/C#有),注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 全局区(静态区)(static):全局变量和静态变量的存储是放在一块儿的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和...
内存管理语义:赋值 作用:主要用于修饰数据类型,数据类型变量的内存由编译器自动管理;修饰对象属性时,其指向一个对象之后,不改变该对象的引用计数。即只引用已创建的对象,而不持有对象;assign 修饰的属性不持有对象,当其指向的对象在别处释放后,该指针变为悬挂指针也叫野指针 (3) weak 使用场景:只能修饰对象 是否是...
Objective-C:属性(@property) 苹果公司在Object-C 2.0 中引入了属性(property),它组合了新的预编译指令和新的属性访问语法。新的属性功能显著减少了必须编写的冗长代码的数量。 1、@property关键字 可以使用@property关键字来声明类的属性(property),编译器能够自动生成属性名、setter方法、getter方法。其中@property是...
用Objective-C做过开发的朋友都知道,类里面的属性(可以近似地理解为类的变量)是用@property关键字定义的,然后@property后面的括号,会写上若干「特性(attribute)」,后面跟数据类型、属性名称。如: @property (copy, nonatomic) NSString *name; 写OC良久,对括号内的这些attributes,还是一知半解、不知其然,亦不知...
类的定义文件遵循C语言之惯例以.h为后缀,实现文件以.m为后缀。 二. 类定义(Interface) 1. 定义 定义文件遵循C语言之惯例以.h为后缀。定义部分,清楚定义了类的名称、数据成员和方法。 以关键字@interface作为开始,@end作为结束。 下面定义一个叫做 XBCar 的类的语法,这个类继承自 NSObj...
大家也可以参考我的CSDN博客:Objective-C学习笔记(3)——继承和多态 1. static关键字 如果方法的返回值是当前类的对象,那么方法的返回值就写instancetype 2. self关键字 1.存在self关键字的动机 2.self的本质 3.self用在对象方法中 4.把self用在类方法中. ...
本文介绍的是Objective-C中一些关键字 学好必知,本文属于帮助性质的一片文章,帮助快速有效的去学习Objective-C,先来看内容。 关于变量的作用域 复制 protected —Methods defined in the class and any subclasses can directly access the instance variables that follow.This is the default case. ...