iOS中@synthesize的使用
2016-01-27 15:11
363 查看
@synthesize关键字和@property关键字一样,都是编译器特性,让Xcode可以自动生成getter和setter的声明和实现
(一)@property 关键字
@property 关键字可以自动生成某个成员变量的setter和getter方法的声明
语法
@property NSString *str;
编译器遇到这一行,则自动扩展成下面两句:
- (void)setStr:(NSString *)str;
- (NSString *)str;
(二)@synthesize 关键字
@synthesize 关键字帮助生成成员变量的setter和getter方法的实现
语法
@synthesize str;
相当于下面的代码:
- (void)setStr:(NSString *)str
{
_str = str;
}<span style="font-size:18px;">
- (NSString *)str
{
return str;</span>
(三)@dynamic
@dynamic 关键字,告诉编译器,不自动生成setter和getter方法,避免编译期间产生警告,然后有开发人员自己实现存取方法,或者存取方法在运行时动态创建绑定
(一)@property 关键字
@property 关键字可以自动生成某个成员变量的setter和getter方法的声明
语法
@property NSString *str;
编译器遇到这一行,则自动扩展成下面两句:
- (void)setStr:(NSString *)str;
- (NSString *)str;
(二)@synthesize 关键字
@synthesize 关键字帮助生成成员变量的setter和getter方法的实现
语法
@synthesize str;
相当于下面的代码:
- (void)setStr:(NSString *)str
{
_str = str;
}<span style="font-size:18px;">
- (NSString *)str
{
return str;</span>
<span style="font-size:18px;"> }</span>
(三)@dynamic
@dynamic 关键字,告诉编译器,不自动生成setter和getter方法,避免编译期间产生警告,然后有开发人员自己实现存取方法,或者存取方法在运行时动态创建绑定
相关文章推荐
- MyEclipse Web Project转Eclipse Dynamic Web Project
- DLL(Dynamic Linkable Library) 详解说明
- 深入C# 4.0 新特性dynamic、可选参数、命名参数的详细介绍
- C# Dynamic关键字之:解析dynamic就是Object
- C# Dynamic关键字之:dynamic为什么比反射快的详解
- Dynamic和Var的区别及dynamic使用详解
- C# dynamic关键字的使用方法
- PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
- jenkins动态参数构建
- DHCP Snooping + Dynamic ARP Inspection(DAI) 配置
- 架设动态 DNS 服务器: 让你成为 ISP 啦
- 关于php-fpm子进程设置
- 建立C语言动态链接库
- php-fpm的max_chindren的一些误区
- NSDictionary
- hyperv 动态磁盘的缺陷
- Longest Arithmetic Progression
- 轻松理解Java动态代理
- 如何在代码中动态设置java_library_path?
- Decode Ways