Objective-C 合成存取器方法
2015-04-12 00:27
537 查看
今天 Mike 要聊的是 Objective-C 2.0
下一个很方便的功能:自动生成设置函数方法和获取函数方法 (统称为存取器方法)。
第一步是在接口部分中实用 @property 指令标识属性。这些属性通常是实例变量。在前文
《Objective-C 分离接口和实现文件》 中的 Fraction 类,两个实例变量 numerator 和 denominator 都属于此类属性。下面是新的接口部分,其中添加了新的 @property 指令。
01 @interface Fraction: NSObject
02 {
03 int numerator;
04 int denominator;
05 }
06
07 @property int numerator, denominator;
08
09 -(void) print;
10 -(double) convertToNum;
11
12 @end
大家可以注意到和之前代码的区别。我们没有包括下列设置函数方法和获取函数方法的定义:numerator,denominator,setNumerator:
和 setDenominator:。我们要让 Objective-C 2.0 编译器为我们自动生成或合成这些方法。如何完成呢?只需在实现部分中使用 @synthesize 指令即可,如下所示:
01 #import
"Fraction.h"
02
03 @implementation Fraction
04
05 @synthesize numerator, denominator;
06
07 -(void) print
08 {
09 NSLog (@"%i/%i", numerator, denominator);
10 }
11
12 -(double) convertToNum
13 {
14 if (denominator != 0)
15 return (double) numerator / denominator;
16 else
17 return 1.0;
18 }
19
20 @end
这样我们就可以很方便地让编译器去处理这个方法,它生成的存取器方法非常高效。
下一个很方便的功能:自动生成设置函数方法和获取函数方法 (统称为存取器方法)。
第一步是在接口部分中实用 @property 指令标识属性。这些属性通常是实例变量。在前文
《Objective-C 分离接口和实现文件》 中的 Fraction 类,两个实例变量 numerator 和 denominator 都属于此类属性。下面是新的接口部分,其中添加了新的 @property 指令。
01 @interface Fraction: NSObject
02 {
03 int numerator;
04 int denominator;
05 }
06
07 @property int numerator, denominator;
08
09 -(void) print;
10 -(double) convertToNum;
11
12 @end
大家可以注意到和之前代码的区别。我们没有包括下列设置函数方法和获取函数方法的定义:numerator,denominator,setNumerator:
和 setDenominator:。我们要让 Objective-C 2.0 编译器为我们自动生成或合成这些方法。如何完成呢?只需在实现部分中使用 @synthesize 指令即可,如下所示:
01 #import
"Fraction.h"
02
03 @implementation Fraction
04
05 @synthesize numerator, denominator;
06
07 -(void) print
08 {
09 NSLog (@"%i/%i", numerator, denominator);
10 }
11
12 -(double) convertToNum
13 {
14 if (denominator != 0)
15 return (double) numerator / denominator;
16 else
17 return 1.0;
18 }
19
20 @end
这样我们就可以很方便地让编译器去处理这个方法,它生成的存取器方法非常高效。
相关文章推荐
- Objective-C类-Objective-C 合成存取器方法
- Objective-C中的property介绍 (合成存取方法)
- objective-c(六)文件分离,合成存取方法,方法多参数,局部变量,self使用
- 【IOS 开发学习总结-OC-12】★objective-c面向对象之——合成存取方法与点语法
- objective-c(六)文件分离,合成存取方法,方法多参数,局部变量,self使用(未完成)
- 《objective-c基础教程》学习笔记(七)—— 存取方法
- Objective-C 的属性与合成方法使用详解(转载)
- Objective-C 基础:Time5 合成存取器
- objective-c 基础语法和习题 / 类 详解/合成存取
- Objective-C 基础,类和对象,方法和消息,已声明的属性和存取方法,块对象,协议和范畴类,预定义类型和编码策略
- Objective-C 基础,类和对象,方法和消息,已声明的属性和存取方法,块对象,协议和范畴类,预定义类型和编码策略
- Objective-C 的属性与合成方法使用详解
- Objective-C 的属性与合成方法使用详解
- Objective-C边学边记-4:OOP之 复合、存取方法
- 黑马程序员--类合成存取方法
- 浅谈iOS面对对象之合成存取方法
- OC隐藏和封装-合成存取方法一(重要)
- Objective-C ——合成存取器
- Objective-C 的属性与合成方法使用详解
- Objective-C 基础,类和对象,方法和消息,已声明的属性和存取方法,块对象,协议和范畴类,预定义类型和编码策略