我知道以前有人问过类似的问题,但请多多包涵,因为我是 Objective C 的新手(对 C 有很好的了解)。
我的情况是我有一个带有两个窗口的标签栏控制器。当我在“秒”中按下按钮时,我更改了一个变量changeName
。我想changeName
在我的“第一个”视图控制器中使用值,但偶然发现了一些问题:
为了到达另一个视图控制器,我从 SO 中找到了这个(不幸的是我忘记了在哪里):
-(NSString *)newName{
// Create a UIStoryboard object of "MainStoryBoard_iPhone" named storyboard
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:(NSString *)@"MainStoryBoard_iPhone" bundle:(NSBundle *)nil];
// Create a UIViewController object of the wanted element from MainStoryBoard_iPhone
UIViewController *secondview = [storyboard instantiateViewControllerWithIdentifier:(NSString *)@"secondBoard"];
return secondview.changeName;
}
我在我的第一个.m。MainStoryBoard_iPhone
是 .xib/storyboard 文件的名称。
但不是。错误说
Property 'changeName' not found on object of type 'UIViewController *'
在我的 second.h 我有
@property (readwrite, retain) NSString *changeName;
在 second.m
@synthesize changeName;
感谢所有帮助,但请记住,我只使用了两天的 OOP。谢谢大家
编辑:我应该在这里输入什么?
- (void)viewDidLoad
{
[super viewDidLoad];
mylabel.text = Name; // or [mylabel.text Name] or something?
}