使用__attribute__是向编译器提示方法的某些属性的简洁方法。
@interface MyClass : NSObject
- (NSString *)someString __attribute__((pure));
@end
@implementation
- (NSString *)someString __attribute__((pure)) {
return @"Hello";
}
@end
删除实现中的__attribute__
不会导致构建警告(虽然它在Xcode的早期版本中有,但我相信。如果它没有标记在那里,但在标题中标记,编译器是否会找到所有情况下的属性?将它包含在实现中是否更好?
答案 0 :(得分:0)
实际上,最重要的是它应在标题中标记。纯函数的实用性在于编译器在函数返回后不必重新读取非本地内存;也就是说,它是使用函数编码的提示,而不是函数本身。