我有一个名为 language 的 NSString 对象,我想从其他类访问它,正确的方法是什么?我尝试了以下步骤:
1) 我创建了委托(delegate)方法并通过委托(delegate)发送字符串
-(void)setLanguageForControllerNSString *)language {
self.language = language;
}
控制台显示了这个
unrecognized selector sent to instance delegate
2) 我创建了 getCurrentLanguage 方法
static NSString *language;
+(NSString*)getCurrentLanguage {
return language;
}
然后像这样访问
NSString *myLanguage = [[MyView alloc] getCurrentLanguage];
您应该在您的类 .h
文件中将 language
声明为一个属性。
@property (nonatomic, copy) NSString* language;
当你想设置语言时:
初始化你的类实例:yourObj
调用:yourObj.language = "whatever"
或 [yourObj setLanguage:"whatever"];
每个属性声明都以类型说明和名称结尾。 例如:
@property(copy) NSString *title;
此语法等效于声明以下访问器方法:
- (NSString *)title;
- (void)setTitleNSString *)newTitle;
阅读有关 Objective-C 属性的更多信息 here
关于ios - 可在其他类中访问的 Objective-C 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42017029/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |