我是Objective C,Xcode等的新手。感谢您的帮助,阅读本论坛,我在正确的方向上做了一些步骤,但只在“单一视图应用程序”中。
现在我在故事板中有两个观点:
(FirstViewController.h / m) (SecondViewController.h / m)
我还创建了一个Objective C类,用于从这两个视图中接收数据。
第一次,在FirstViewController中,我有一个IBA ACTION。
按下按钮时:
controllo *control;
control = [[controllo alloc] init];
然后我用来设置“控制”实例使用属性..它工作。
现在“controllo”(控件)的相同实例应该甚至从我的SecondViewClass接收数据,但是即使在传递到第二个视图之前按下了第一个视图(IBA ACTION)的按钮,我也无法访问它。
您能否告诉我如何通过项目中所需的所有视图访问课程?
谢谢!
答案 0 :(得分:1)
将所有变量放入类中,通过singleton模式访问类,并将类标头导入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"
现在您可以使用以下命令从任何类访问全局类变量:
[GlobalClass sharedClass].globalString = @"this is a global string";
您还可以使用以下方法访问该方法:
[GlobalClass sharedClass] methodA];