ios - 从另一个类 objc 访问变量

标签 ios objective-c class variables

如何访问类 viewController 中定义的实例变量。

ViewController.h

@interface ViewController : UIViewController
{
    Class1* class1;
}

ViewController.m

@implementation ViewController
class1 = [[Class1 alloc]init];
@end

类1.h

@interface Class1 : NSObject
{
NSMutableArray* variablesArray;
}
@property NSMutableArray* variablesArray;

Class1.m

@implementation Class1
@synthesize variablesArray;
@end

现在我想从 Class2.m 访问实例“class1”变量“variablesArray”。我想从 MutableArray“variablesArray”添加和获取对象。可能吗?

最佳答案

是的,这是可能的。

创建其他类的对象并访问变量。

在 claas2 中导入 Class1 (#import "Class1")

Class1 *objClass1= [[Class1 alloc] init];

现在可以访问了

[objClass1.variableArray  addObject:@"object"];

[objClass1.variableArray  objectAtIndex:0];

如果你想访问相同的数组实例,创建一个单例类 通过在您的类中添加此类方法

+ (Class1 *)sharedInstance
{
    static Class1 *shared = nil;

    static dispatch_once_t onceToken;
    dispatch_once(&onceToken,
                  ^{
                      shared = [[self alloc] init];
                  });

    return shared;
}

并像 Class2 一样访问

[[Class1 sharedInstance] variableAray];

关于ios - 从另一个类 objc 访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22145642/

相关文章:

iphone - 仅在特定区域提示性别

iphone - UIDocumentInteractionController 不适用于 iOS 6

ios - 在 AVPlayer 中获取 averagePowerForChannel

ios - Sprite Kit iOS 7 - 如何向 SKSpriteNode 添加阴影?

objective-c - 快速重新加载 UITableView 数据 (iOS)

python - 通过列表引用类实例

ios - 从 iPod 库读取 m4a 原始数据时如何添加 ADTS header ?

ios - 处理字典中的 null 和 NSDate

python - 'exec' 不适用于私有(private)方法 Python

java自定义类不可序列化