簡體   English   中英

Objective-C,.h中的方法聲明和.m中的私有屬性

[英]Objective-c, method declaration in .h and private property in .m confusion

我正在閱讀教程,其中他在cell .h file聲明了一個接受block的方法, 但未.m class實現該方法,他聲明了與method @property (copy, nonatomic) void (^didTapButtonBlock)(id sender);同名的private property @property (copy, nonatomic) void (^didTapButtonBlock)(id sender);

這是什么做法? 只在.h中聲明方法並在.m中設置私有屬性

我試圖這樣簡單地做

我在.h文件中創建了一個方法

-(void)xyz:(NSString*)string;

在.m文件中

@property (nonatomic, strong) NSString *string;

但是Method definition for 'xyz' not found警告Method definition for 'xyz' not found Xcode

請告訴我們幕后發生了什么?

他公開了block變量的setter方法,但是將getter set私有,如果您注意到的話,該方法包含單詞set ,這是屬性的setter方法。

這是您可以這樣做的方法:

-(void)setXyz:(NSString*)xyz;

並在.m中:

@property (nonatomic, strong) NSString *xyz;

這種方法是確保其他類無法獲取屬性實例,但可以為其賦值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM