OC對象中不能給分類添加屬性,但是在實際開發中,經常為了更好的性能需要給分類添加屬性,那麼
添加的屬性不能有默認的成員變量,需要我們自己實現set和get方法,要用到運行時
如下:
#import
//運行時的關聯對象,動態添加屬性
const void *URLStringKey = URLStringKey;
//set方法
- (void)setUrlStr:(NSString *)urlStr
{
objc_setAssociatedObject(self, URLStringKey, urlStr, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
//get方法
- (NSString *)urlStr
{
return objc_getAssociatedObject(self, URLStringKey);
}