我一直在寻找答案,但我的关键词 - fu只是让我失望。
我有一个我在objc / Xcode中使用的宏:
#define strongify(source, target) __strong typeof(source) target = source; if(target == nil) NSLog(@"variable was already nil")
这导致我经常需要像这样编写代码:
strongify(weakSelf, strongSelf);
if (!strongSelf) return;
所以我认为我会使用以下内容扩展该宏:
#define strongifyOrReturn(source, target) __strong typeof(source) target = source; if(target == nil) return
Xcode拒绝自动填充它并抱怨它在编译时不知道它。
但是,如果我不使用return关键字并且只使用相同的宏名称的NSLog,Xcode将很乐意按照我的要求进行操作,新名称会列在自动完成建议中。
我希望你们中的一些人能说出为什么会这样......
答案 0 :(得分:0)
其他有类似问题的人,应该试着看看他们是不是被Xcode哄骗了。在我的MBP过夜休眠之后,它现在自动完成并编译并且通常很高兴。
所以要从中汲取教训,重新启动Xcode并在SO上发布问题之前重新测试。叹息。