实现中是否需要__attribute__?

时间:2013-10-21 20:58:20

标签: objective-c clang

使用__attribute__是向编译器提示方法的某些属性的简洁方法。

@interface MyClass : NSObject
- (NSString *)someString __attribute__((pure));
@end
@implementation
- (NSString *)someString __attribute__((pure)) {
  return @"Hello";
}
@end

删除实现中的__attribute__不会导致构建警告(虽然它在Xcode的早期版本中有,但我相信。如果它没有标记在那里,但在标题中标记,编译器是否会找到所有情况下的属性?将它包含在实现中是否更好?

1 个答案:

答案 0 :(得分:0)

实际上,最重要的是它应在标题中标记。纯函数的实用性在于编译器在函数返回后不必重新读取非本地内存;也就是说,它是使用函数编码的提示,而不是函数本身。