Ios 从另一个void获取变量值
我刚开始用XCode编程,我需要你的帮助。 我有两个空洞;在第一个void中,我创建了一个NSString,在第二个void中,我需要该字符串的值,但我不知道如何获得该值 这是我的.h文件的短端版本Ios 从另一个void获取变量值,ios,xcode,variables,call,void,Ios,Xcode,Variables,Call,Void,我刚开始用XCode编程,我需要你的帮助。 我有两个空洞;在第一个void中,我创建了一个NSString,在第二个void中,我需要该字符串的值,但我不知道如何获得该值 这是我的.h文件的短端版本 //.h file -(void)viewDidLoad { [self ActionOne]; } -(IBAction)ButtonClick (id):sender { [self ActionTwo]; } -(void)ActionOne { NSS
//.h file
-(void)viewDidLoad
{
[self ActionOne];
}
-(IBAction)ButtonClick (id):sender
{
[self ActionTwo];
}
-(void)ActionOne
{
NSString *VarString = @"hello";
}
-(void)ActionTwo
{
NSLog (@"%@", VarString);
}
我的问题是NSLog的输出为“null”,我希望有人能帮助我您在ActionOne
中声明了一个局部变量。它只在方法运行时存在。对于持久性存储,您需要一个ivar(这是Objective-C中使用的一个术语,意思是“实例变量”,它是一个变量,作为类实例的每个对象都有一个单独的副本)。最简单的方法是声明一个属性,它将创建一个ivar和方法来访问它进行读写。在.h文件中:
@interface MyViewController: UIViewController
@property (nonatomic, strong) NSString *varString;
// ... method declarations, etc
@end
然后在.m文件中:
-(void)actionOne
{
self.varString = @"hello";
}
-(void)actionTwo
{
NSLog(@"%@", self.varString);
}
这些是“方法”,而不是“空洞”
void
是方法的返回类型。如果按返回类型调用方法,会使人感到困惑。:)谢谢,我已经知道我需要声明属性,但是我不知道我需要替换'NSString*VarString=@“hello”;'使用'self.varString=@“hello”;'谢谢