当前位置: 代码迷 >> Iphone >> 关于@synthesize object=_object,请各位赐教解决思路
  详细解决方案

关于@synthesize object=_object,请各位赐教解决思路

热度:115   发布时间:2016-04-25 06:44:16.0
关于@synthesize object=_object,请各位赐教
定义1
X.h
@interface XXX
@property (strong, nonatomic) objectType object;
@end

X.m
@synthesize object;


定义2
X.h
@interface XXX
@property (strong, nonatomic) objectType object;
@end

X.m
@synthesize object=_object;



定义3
X.h
@interface XXX
{ objectType _object;}
@property (strong, nonatomic) objectType object;
@end

X.m
@synthesize object;



定义4
X.h
@interface XXX
{ objectType object;}
@property (strong, nonatomic) objectType object;
@end

X.m
@synthesize object=_object;



请各位大人帮忙解释下上面几种定义,另外标准的定义该是怎样?

------解决方案--------------------
给变量取别名,_object作为类内部函数使用,object设置供外部调用,如使用 instanceClass.object
------解决方案--------------------
一般都是这样的:
X.h
@interface XXX{ 
objectType _object;//这里的声明可以不加,可是如果不加,X的子类便无法使用了,而且不加也不好,因为别人在看你这个类的时候,发现类没有_object这个对象,可是m文件中却使用了,不便于阅读


@property (strong, nonatomic) objectType object;

@end

X.m
@synthesize object = _object;//这里是为了让区分类内部的成员变量而加的_,c++一般有这个习惯,于是在X.m文件中你可以使用_object来进行该对象的操作,切记类似self.object是调用方法而非直接操作object这个对象

有空可以去看看facebook ios sdk的代码,个人感觉那个写的很标准
------解决方案--------------------
@property语法类似于set,get方法。具体可以看我博客。http://blog.csdn.net/holydancer
------解决方案--------------------
苹果官网最新文档是第二种。lz就用这种呗。
------解决方案--------------------
果官网最新文档是第二
  相关解决方案