错误:嵌套函数被禁用,使用 -fnested-functions 重新启用
我收到错误:
nested functions are disabled, use -fnested-functions to re-enable.
可能是语法。我就是无法理解它。
- (NSArray *)sortedVariants {
NSInteger alphabeticSort(id object1, id object2, void *reverse) {
if ((NSInteger *)reverse == NO) {
return [[object1 name] localizedCaseInsensitiveCompare:[object2 name]];
}
return [[object2 name] localizedCaseInsensitiveCompare:[object1 name]];
};
return [variants sortedArrayUsingFunction:alphabeticSort context:NULL];
}
@end
I'm getting error:
nested functions are disabled, use -fnested-functions to re-enable.
Could be a syntax. I just can't wrap my head around it.
- (NSArray *)sortedVariants {
NSInteger alphabeticSort(id object1, id object2, void *reverse) {
if ((NSInteger *)reverse == NO) {
return [[object1 name] localizedCaseInsensitiveCompare:[object2 name]];
}
return [[object2 name] localizedCaseInsensitiveCompare:[object1 name]];
};
return [variants sortedArrayUsingFunction:alphabeticSort context:NULL];
}
@end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
(通常)不允许在函数(或方法或其他任何内容)内定义函数。您在
-sortedVariants
内定义alphabeticSort
,对吧?请
注意,在 Objective-C 中,在
@implementation
...@end
之间定义的 C 函数只是在文件范围内定义的函数,与班级。It's not (usually) allowed to define a function inside a function (or a method or whatever.) You define
alphabeticSort
inside-sortedVariants
, right?Instead do
Note that in Objective-C, a C-function defined between
@implementation
...@end
is just a function defined at the file scope, not associated to the class.