【发布时间】:2013-01-21 14:06:08
【问题描述】:
我有一个如下所示的块属性:
@property (nonatomic, copy) void (^indexChangeBlock)(NSInteger index);
当我尝试设置此属性的值时,Xcode 自动完成将省略参数名称,留下如下内容:
[self.segmentedControl3 setIndexChangeBlock:^(NSInteger) {
code
}];
然后 Xcode 显示 Parameter name omitted 错误。我知道我可以通过手动添加参数名称来解决这个问题:
[self.segmentedControl3 setIndexChangeBlock:^(NSInteger index) {
code
}];
我的问题是,如何让 Xcode 自动添加参数名称。或者换句话说,阻止它删除它们。
【问题讨论】:
-
但是
indexChangeBlock的类型是只是void (^)(NSInteger)。函数类型或块类型中没有“参数名称”。它对语言没有意义。 -
是的,它对语言没有意义,但它对于 Xcode 中的自动完成很有用,特别是当您的代码将被其他人使用时。
-
FWIW,我刚刚在 Xcode 12.5.1 中测试了上述语法,现在自动完成确实包含了参数名称。
-
很高兴知道它已在 8 年后修复。
标签: ios objective-c xcode block