property declaration 属性声明
为实例变量指定属性(attributes)的途径, 可让编译好器生成 无泄漏和线程安全的访问实例变量的方法.
@property 就是对应的编译器指令
声明一个与数据成员同名的属性来省去读写函数的声明
@interface Application
{
unsigned int root_port;
unsigned int notifier;
UIWindow *window;
MainView *mainView;
}
- (void)applicationDidFinishLaunching:(id)arg1;
- (void)applicationWillSuspend;
- (void)dealloc;
@property(retain) UIView *mainView; // @synthesize mainView;
@property(retain) UIWindow *window; // @synthesize window;
@end
声明property的语法为:
@property (参数) 类型 名字;
这里的参数主要分为三类:
读写属性(readwrite/readonly)
setter语意(assign/retain/copy)
原子性atomicity(nonatomic)
assign/retain/copy 决定了以何种方式对数据成员赋予新值
atomicity的默认值是atomic,读取函数为原子操作。
经常用到的参数是 copy/reain/assign。在其中选择一个来确定属性的setter如何处理这个属性。很多Objective-C中的object最好使用用retain,一些特别的object(例如:string)使用copy。
assign关键字代表setter直接赋值,而不是复制或者保留它。这种机制非常适合一些基本类型,比如NSInteger和CGFloat,或者你并不直接拥有的类型,比如delegates。
readonly关键字代表setter不会被生成, 所以它不可以和 copy/retain/assign组合使用。
在实现里,只需要
@synthesize mainView;
@synthesize windows;
就可代替 繁琐的setter, getter方法, 这样就 可让编译器自动生成读写函数
定义了property, 使用者,可以 点号(.) 来存取属性了,哈哈,有点像C++了
分享到:
相关推荐
### Objective-C语言教程、案例与项目资源详解 #### 一、Objective-C基础知识 **1.1 类与对象** Objective-C的核心概念是类和对象。类是对象的模板或蓝图,它定义了对象应该具备哪些属性(如变量)和行为(如方法...
相信每个初学者对@property和@synthesize都感到非常的陌生,在此给大家分享下我的自己的理解,有不当之处,还望多多指教。详细说明文章在下面连接http://blog.csdn.net/comeontom/article/details/7455459
### Objective-C教程知识点详解 #### 一、Objective-C简介与特性 ##### 1.1 定义与背景 Objective-C是一种面向对象的编程语言,它是在C语言的基础上扩展而成的,主要应用于苹果的操作系统(如iOS和macOS)的软件...
### Objective-C基础知识详解 #### 一、Objective-C简介 Objective-C是一种通用的、面向对象的编程语言,由Smalltalk和C语言发展而来。它最早在20世纪80年代初由Brad Cox发明,并由Stepstone公司开发和完善。...
### Objective-C 快速参考与知识点详解 #### 目标:Objective-C Cheat Sheet解析与深入理解 Objective-C作为苹果公司开发iOS和OS X应用的主要语言之一,在编程领域占据着重要的地位。下面,我们将通过一份...
### Objective-C语法快速参考知识点详解 #### 一、Objective-C与相关工具的区分 - **Xcode**: 这是一款由苹果公司开发的集成开发环境(IDE),用于开发macOS、iOS、watchOS以及tvOS的应用程序。它包含了编写、调试...
### Objective-C 语言基础知识与应用案例详解 #### 一、Objective-C 语言简介 Objective-C 是一种面向对象的编程语言,由苹果公司在 macOS 和 iOS 开发中广泛应用。它基于 C 语言并添加了面向对象的功能,是开发 ...
### 编程Objective-C知识点详解 #### 一、Objective-C简介 Objective-C是一种面向对象的编程语言,由Smalltalk和C语言发展而来。它在20世纪80年代初由Brad Cox发明,并由Tom Love和Chris Stone在Next公司进一步开发...
### 北风网内部版Objective-C培训资料知识点详解 #### 一、Objective-C简介与特点 Objective-C是一种面向对象的编程语言,它是在C语言的基础上发展起来的,主要用于开发iOS和Mac OS X应用。Objective-C结合了C语言...
#### 三、Objective-C的关键字详解 Objective-C的关键字主要包括但不限于以下几类: - **类定义与实现**: `@interface`, `@implementation`, `@class` - **访问修饰符**: `@public`, `@private`, `@protected` - *...
Objective-C是一种通用、面向对象的编程语言,它是在C语言的基础上扩展而成的。Objective-C是苹果公司在开发macOS和iOS应用时的主要语言之一,尤其是在iOS开发初期。该语言的设计哲学强调了消息传递和动态类型。...
Objective-C中封装的概念尤为重要,其中setter和getter方法的建立以及property关键字的使用都是关键点。 继承、重写和多态是面向对象编程的高级概念。继承允许一个类继承另一个类的特性;重写(Override)是子类对...
### Objective-C 详细教程与经典案例 #### 一、Objective-C 概述 Objective-C 是一种面向对象的编程语言,广泛应用于苹果的操作系统(如 iOS 和 macOS)。它基于 C 语言,并引入了 Smalltalk 风格的消息传递机制...
### Objective-C内存管理详解 #### 一、基本概念与原理 Objective-C的内存管理机制与.NET和Java等语言中常见的自动垃圾回收机制不同,它更接近于C语言的手动管理方式,但在此基础上加入了一些自动化手段,使得开发...
在iOS开发中,Objective-C语言提供了@property关键字来声明属性,并且可以在属性声明时指定不同的内存管理行为,主要涉及到assign、retain和copy这三个关键字。为了深入理解这三者的区别,首先需要了解Objective-C的...
### Objective-C基础知识详解 #### 一、Objective-C简介 Objective-C是一种通用的、面向对象的编程语言,由苹果公司推广并广泛应用于iOS和macOS应用开发中。它结合了C语言与Smalltalk语言的优点,既支持面向过程的...
### Objective-C 学习知识点详解 #### 一、开发环境:Cocoa Cocoa 是一个应用框架集合,主要应用于 macOS 和 iOS 的软件开发。它由两大部分组成:Foundation Kit 和 Application Kit。 - **Foundation Kit**:这是...