iOS Runtime 動態新增屬性不能新增intrinsic型別
阿新 • • 發佈:2018-12-31
- (void)setIsThreeDimensionalMap:(BOOL)isThreeDimensionalMap{
objc_setAssociatedObject(self, @"isThreeDimensionalMap", isThreeDimensionalMap, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
報錯:
- Implicit conversion of ‘BOOL’ (aka ‘bool’) to ‘id’ is disallowed with ARC
就是不能動態新增本身的型別,只能新增物件
於是我把物件包裝到NSNumber中去
[NSNumber numberWithBool:YES];
新增一個NSNumber 物件…
- (void)setIsThreeDimensionalMap:(NSNumber *)isThreeDimensionalMap{
objc_setAssociatedObject(self, @"isThreeDimensionalMap", isThreeDimensionalMap, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
就不報錯了!