在多视图应用程序中设置类实例(Objective C)
我是Objective C,Xcode等的新手。 感谢您的帮助,阅读这个论坛,我做了一些正确的方向,但只在“单一视图应用程序”。
现在我在故事板上有两个视图:
(FirstViewController.h / m)(SecondViewController.h / m)
我还创build了一个Objective C类,目的是从这两个视图接收数据。
第一次,在FirstViewController我有一个IBA的行动。
当按下button时:
controllo *control; control = [[controllo alloc] init];
然后我使用设置“控制”实例使用属性..它的工作。
现在即使在我传递给第二个视图之前,第一个视图(IBA ACTION)的button被按下,同样的“controllo”(控件)实例也应该从我的SecondViewClass接收数据,但是我无法访问它。
你能告诉我如何从我的项目中需要的所有视图访问一个类?
谢谢!
把所有的variables放到一个类中,通过单例模式访问这个类,然后将这个类的头文件导入到prefix.pch文件中
例如:
GlobalClass.h
#import <Foundation/Foundation.h> @interface GlobalClass : NSObject @property (nonatomic, strong) NSString *globalString; @property (nonatomic, strong) NSNumber *globalNumber; + (GlobalClass*) sharedClass; - (void) methodA; @end
和GlobalClass.m中
#import "GlobalClass.h" @implementation GlobalClass + (GlobalClass *)sharedClass { static GlobalClass *_sharedClass = nil; static dispatch_once_t oncePredicate; dispatch_once(&oncePredicate, ^{ _sharedClass = [[GlobalClass alloc] init]; }); return _sharedClass; } - (id)init { self = [super init]; if (self) { //init variable here } return self; } - (void) methodA { //do something here NSLog(@"this is methodA called"); } @end
把它放在你的.pch文件中
#import "GlobalClass.h"
现在,您可以使用以下任何类访问全局类variables:
[GlobalClass sharedClass].globalString = @"this is a global string";
您也可以使用以下方法访问该方法:
[GlobalClass sharedClass] methodA];