爲了使您的字符串出現在2類使它因爲您已經在另一個類(Class 1)中聲明瞭它,所以您需要使其初始化一個Class 1對象也爲您的字符串賦值。例如。
ViewControllerA.h:
@interface ViewControllerA : UIViewController
@property (weak, nonatomic) NSString *test;
-(instancetype)init;
@end
ViewControllerA.m
#import "ViewControllerA.h"
@interface ViewControllerA()
@end
@implementation ViewControllerString
-(instancetype)init{
self = [super init];
if (self) {
_test = @"Testing stuff";
}
return self;
}
ViewControllerB.h:
#import "ViewControllerA.h"
@interface ViewControllerB : UIViewController
@property (strong, nonatomic) ViewControllerA *vcString;
@end
ViewControllerB.m:
#import "ViewControllerB.h"
@interface ViewControllerB()
@end
@implementation ViewControllerB
- (void)viewDidLoad {
[super viewDidLoad];
_vcString = [[ViewControllerA alloc]init];
NSLog(@"%@", self.vcString.test);
}
當您在ViewControllerA特定的初始化,這使得它如此,只要你做的事:
ViewControllerA *viewControllerAObject = [ViewControllerA alloc]init];
另一個類,你作出這樣的配備了一個特定的文本字符串初始化時一個ViewControllerA對象。
您是否創建'ViewcontrollerA'實例並將其分配給'VCA'屬性? – rmaddy
這是因爲ViewcontrollerA * VCA屬性爲零。你聲明瞭它,但你沒有分配任何ViewControllerA的實例。 –
@ rmaddy-我們可以使用singleton來達到這個目的,所以無論何時我們想要一個視圖控制器的實例,我們都可以[VC sharedInstance]? –