我的标题中有:
@interface UIImageView (MyImageView)
然后在我的源代码中我想添加一些私有属性,所以我这样做:
@interface UIImageView (MyImageView)
@property (nonatomic, assign) BOOL isBlah;
@end
但我在头文件行上看到Duplicate definition of category 'MyImageView' on interface 'UIImageView'
(见上文)。
我做错了什么?
答案 0 :(得分:1)
您正在创建同一类别的两个实例。将你的第二个命名为其他东西(而不是MyImageView
),或者更好,只需在那里使用类扩展:
@interface UIImageView ()
@property (nonatomic, assign) BOOL isBlah;
@end
(虽然奇怪的是,课程扩展在这里工作;但实际上不应该因为我们没有UIImageView
的来源。但它确实在iOS 8中...可能是编译器错误或新功能。通常,您可以将此命名为类别而不是扩展,如下面rmaddy所述。)