我有一个如下所示的块属性:
@property (nonatomic, copy) void (^indexChangeBlock)(NSInteger index);
当我尝试设置此属性的值时,Xcode自动完成功能将省略参数名称,使我得到类似以下内容:
[self.segmentedControl3 setIndexChangeBlock:^(NSInteger) {
code
}];
然后Xcode显示
Parameter name omitted
错误。我知道可以通过手动添加参数名称使其看起来像这样来解决此问题:[self.segmentedControl3 setIndexChangeBlock:^(NSInteger index) {
code
}];
我的问题是,如何使Xcode自动添加参数名称。换句话说,就是防止它删除它们。
最佳答案
可能的解决方案:
typedef void (^IndexChangeBlock)(NSInteger index);
并定义您的财产
@property (nonatomic, copy) IndexChangeBlock indexChangeBlock;
如果添加
- (void)setIndexChangeBlock:(IndexChangeBlock)indexChangeBlock;
一切都应该工作