ios如何访问另一个类中的变量?

标签: Xcode ios
发布时间: 2017/3/28 20:48:05
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

如何从另一个类 (ViewController) 访问变量皮尤?

ImageTouched.h

#import <UIKit/UIKit.h>

@interface ImageTouched : UIImageView    
@property (nonatomic, strong) NSString *pew;    
@end

ImageTouched.m

#import "ImageTouched.h"

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    NSLog(@"Image Touched");
    self.pew = @"pewpewpewew";  
}

myViewController.m

#import "ImageTouched.h"

- (void)viewDidLoad
{
    [super viewDidLoad];    
    ImageTouched *instance = [[ImageTouched alloc] init];        
    NSLog(@"Pew value is %@", instance.pew);

}

解决方法 1:

你可以在你 ImageTouched.h 头文件中声明一个属性。您还可以在头文件中定义的 getter,本质上也是一样。当你在它被"公开"的头文件中定义的属性或方法,并且可以访问由其他类。

在你的头文件中使用这样的事情︰

@property (nonatomic, strong) NSString *pew;

在某个地方在 ImageTouched.m 你必须的值赋给皮尤,例如︰

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{    
    NSLog(@"Image Touched");
    self.pew = @"pewpewpewew";
}

然后在你的视图控制器创建一个实例︰

ImageTouched *instance = [ImageTouched init] alloc];

然后,您可以访问这样的属性︰instance.pew

示例︰

NSLog(@"Pew value is %@", instance.pew);

另一种选择是在头文件中使用的 getter 方法。 在你的头,声明︰

- (NSString *)pew;

在把执行 (.m) 文件︰

- (NSString *)pew
{
   return self.pew;
}
赞助商