我有一个名为language的NSString对象,我想从其他类访问它的正确方法是什么?我尝试了以下步骤:
1)我创建了委托方法并通过委托
发送字符串for j in $l
do
echo $j; # whatever you need to do here
done
控制台显示了这个
无法识别的选择器发送给实例委托
2)我创建了方法getCurrentLanguage
-(void)setLanguageForController:(NSString *)language {
self.language = language;
}
并像这样访问
NSString * myLanguage = [[MyView alloc] getCurrentLanguage];
答案 0 :(得分:3)
您应该将language
声明为类.h
文件中的属性。
@property (nonatomic, copy) NSString* language;
如果您想设置语言:
初始化您的班级实例:yourObj
call: yourObj.language = "whatever"
或[yourObj setLanguage:"whatever"];
每个属性声明都以类型说明和名称结尾。 例如:
@property(copy)NSString * title;
此语法等同于声明以下访问器方法:
- (NSString *)title;
- (void)setTitle:(NSString *)newTitle;
详细了解objective-C属性here
答案 1 :(得分:0)
如果您想从其他类访问变量,则无需像getCurrentLanguage
和property
那样创建和设置变量。您需要在interface
文件或.h文件中创建getter
,它将是公开的,并提供其setter
和instance
方法,您可以从任何类访问该方法在您的类的property
变量中包含property
。
您可以在.h或类interface
文件中声明@property (nonatomic, strong) NSString* language;
,如下所示:
obj.language = @"value"; or [obj setLanguage:@"value"];
要设置它的值,您可以使用。
instance
获得它的价值。您需要使用相同的NSString *strLanguageValue = obj.language;
变量
{{1}}