Objective-c,.h中的方法声明和.m中的private属性混淆
Objective-c, method declaration in .h and private property in .m confusion
我正在阅读 this 教程,其中他在 cell .h file
中声明了一个接受 block
但 未 实现的方法.m class
中的方法,他声明了一个与 method
@property (copy, nonatomic) void (^didTapButtonBlock)(id sender);
同名的 private property
这是什么做法?仅在 .h 中声明方法并在 .m
中创建私有 属性
我试着简单地这样做
我在 .h 文件中创建了一个方法
-(void)xyz:(NSString*)string;
在 .m 文件中
@property (nonatomic, strong) NSString *string;
但是Xcode发出警告Method definition for 'xyz' not found
请说说幕后发生了什么?
他公开了块变量的 setter 方法,但将 getter 保持私有,如果您注意到,该方法有单词 set
,即 [=23] =] 方法 属性
您也可以这样做:
-(void)setXyz:(NSString*)xyz;
并在 .m 中:
@property (nonatomic, strong) NSString *xyz;
这种方式是为了确保其他class无法获取属性实例,但可以给它赋值
我正在阅读 this 教程,其中他在 cell .h file
中声明了一个接受 block
但 未 实现的方法.m class
中的方法,他声明了一个与 method
@property (copy, nonatomic) void (^didTapButtonBlock)(id sender);
private property
这是什么做法?仅在 .h 中声明方法并在 .m
中创建私有 属性我试着简单地这样做
我在 .h 文件中创建了一个方法
-(void)xyz:(NSString*)string;
在 .m 文件中
@property (nonatomic, strong) NSString *string;
但是Xcode发出警告Method definition for 'xyz' not found
请说说幕后发生了什么?
他公开了块变量的 setter 方法,但将 getter 保持私有,如果您注意到,该方法有单词 set
,即 [=23] =] 方法 属性
您也可以这样做:
-(void)setXyz:(NSString*)xyz;
并在 .m 中:
@property (nonatomic, strong) NSString *xyz;
这种方式是为了确保其他class无法获取属性实例,但可以给它赋值