objective-c - Storyboard的问题

标签 objective-c ios storyboard

最近我开始使用 Storyboard,遇到以下情况:我想从 AppDelegate 设置 UILabel 的文本。所以我创建了一个 ViewController 实例

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
                                                             bundle: nil];

    ViewController *controller = (ViewController*)[mainStoryboard 
                                                       instantiateViewControllerWithIdentifier: @"mainViewController"];

    myViewController = controller;

    [window addSubview:myViewController.view];
    [window makeKeyAndVisible];

并从委托(delegate)中调用了以下方法

- (void) updateParameterLabel:(NSString *)parameter {

    NSLog(@"URL-2: %@", parameter);

    parameterLabel.text = parameter;
}

但是参数没有显示在 UI 中。

另一种想法,这是一种策略:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    NSLog(@"View did Appear");
}

“ View 确实出现”被记录了两次......

有什么提示吗?

问候, 萨沙

最佳答案

从您的应用程序委托(delegate)中设置 UILabel 的文本并不是很好的设计。您的 View Controller 应该管理您的 View 的内容,因此它们的名称。通常情况下,您的 Storyboard会自动实例化,并且您不需要任何 storyboardWithName 等您已有的代码,假设您使用的是 Apple 的默认模板。

也许考虑重新构建您的应用程序以更严格地遵循“模型- View - Controller ”模式,并查看 Apple 如何自动实例化 Storyboard(只需在 XCode 中创建一个新的 Storyboard项目即可查看)。

关于objective-c - Storyboard的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9057179/

相关文章:

ios - google-api-objectivec-client youtube播放列表供稿没有关键字

ios - 包含 UIViewController 流的 UIViewController

swift - xCode、Swift : working with vs. 无需 Storyboard即可工作

ios - 在 Storyboard中连接 Cell Prototype 的导出

ios - 何时修改约束以使其覆盖 Storyboard设置?

ios - 在 iOS 中使用 Socket 上传和流式传输视频

iphone - Objective-C - 使用 ARC 分配/初始化对象

ios - 将 iphone 应用程序重定向到苹果商店

ios - ForEach 两个数组 - 可能有简单的解决方案吗?

ios - 在 uiscrollview 之外创建固定 subview