代码之家  ›  专栏  ›  技术社区  ›  user6631314

IOS/Objective-C:是否从共享实例更改视图控制器中的属性?

  •  0
  • user6631314  · 技术社区  · 6 年前

    我的应用程序中的视图控制器通过通过共享实例访问的类从web访问一些数据。这个类执行各种服务器调用。

    //通过共享实例访问的文件中的代码

        IDImportFacebookVC *vc= [[IDImportFacebookVC alloc] init];
            if (_contactCount==0) {
                NSString *emptyMessage = @"No friends found";
                vc.emptyMessage.text = emptyMessage;
            }
    

    提前谢谢你的建议。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Alan S    6 年前

    您正在创建一个新的视图控制器,而不是访问屏幕上显示的视图控制器。屏幕上的(如果已经在屏幕上)已经有一个已初始化的实例。如果它还没有出现在屏幕上,操作系统将从情节提要中初始化一个,而不会使用刚刚初始化的脚本。即使如此,您初始化的对象也不会按预期执行,因为它没有帧,也没有在窗口或导航控制器中设置。

    在我看来,你的选择要么像你在评论中所说的那样发送一个通知,要么只是向你的共享实例添加一个包含你想在屏幕上显示的数据的属性。