我剛剛創建的Extension
爲NSString
類Category
類擴展屬性中出現死機的NSString類別
#import "NSString+Name.h"
@interface NSString(Name)
@property (nonatomic, retain) NSString *var;
@end
內但是當我試圖訪問私有變量類別類的內部應用程序崩潰,並給出了錯誤。
@implementation NSString (Name)
- (NSString*)newString{
[self setVar:@"Its a new string"]; // Crashes here
NSLog(@"name = %@",self.var);
return self.var;
}
@end
原因碰撞
無法識別的選擇發送到實例0x1023641c8 2015年5月25日 11:12:49.246土特[710:14433] ***終止應用程序由於未捕獲 異常' NSInvalidArgumentException」的,理由是: ' - [__ NSCFConstantString SETVAR:]:無法識別的選擇發送到 例如0x1023641c8'
如果我能夠分配在變量值那麼爲什麼它說無法識別的選擇
您是否嘗試過使用'[self setvar:@「它是一個新的字符串」];' –
As @Ghanshyam在他的回答中提到您必須訪問 _var = @「它是一個新的字符串」; 這將設置新的字符串成功 – Kamarshad
@Kamarshad我不能夠訪問_var它只允許我self.var – abhishekkharwar