从另一个void中获取变量值

时间:2013-04-05 20:54:12

标签: ios xcode variables call void

我刚开始在XCode编程,我需要你的帮助。 我有两个空洞;在第一个void中我创建了一个NSString,在第二个void中我需要该字符串的值,但我不知道如何获取该值。

这是我的.h文件的短版本

//.h file
-(void)viewDidLoad
{
  [self ActionOne];
}

-(IBAction)ButtonClick (id):sender
{
  [self ActionTwo];
}

    -(void)ActionOne
    {
      NSString *VarString = @"hello";
    }

    -(void)ActionTwo
    {
      NSLog (@"%@", VarString);
    }

我的问题是NSLog的输出为'null',我希望有人可以帮助我

1 个答案:

答案 0 :(得分:2)

您已在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);
}