亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

OC 直接使用@property就能定義屬性了嗎?

OC 直接使用@property就能定義屬性了嗎?

手掌心 2019-04-14 10:35:12
#import@interfacePerson:NSObject@propertyNSString*name;@end這樣就直接能使用p.name了。好像不需要如下定義:#import@interfacePerson:NSObject{NSString*_name;}@propertyNSString*name;@end這兩種方式有啥區別呢?
查看完整描述

2 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

我的經驗來說,建議是全部用property定義名字,這樣能分清楚變量內存操作方式(多線程實在太少,可以忽略)。并且,對于我來說,這是更容易辨清全局變量的方法之一,在m文件中直接使用_name,可以快速理解這是全局變量。我認為,使用property來做全局變量是個非常好的習慣。另外,@freewolf這里講到的synthesize其實可以省略。這里用一個簡單的setter來舉例。
#import
@interfacePerson:NSObject
@property(nonatomic,retain)NSString*name;
@end
#import"Person.h"
@implementationPerson
//下一步可以省略
@synthesizename=_name;
-(void)setName:(NSString*)name
{
name=_name;
}
@end
                            
查看完整回答
反對 回復 2019-04-14
  • 2 回答
  • 0 關注
  • 365 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號