iOS3、iOS4、xibbed UIViewController 和显示数据

发布于 2024-12-09 03:45:07 字数 617 浏览 0 评论 0 原文

我正在编写一个将在 iOS3.0 及更高版本上运行的应用程序。

该应用程序有一个自定义 UIViewController (比如说),我从 .xib 文件实例化它。它的视图包含一个 UILabel,我已在自定义 UIViewController 标头和实现文件中正确声明和合成了它。

我想动态设置此 UILabel 的文本,并在我的 UIViewController 出现时向用户显示。为了便于讨论,请假设文本设置方法的成本很高。

问题是在 iOS3.0 上,至少使用我的 UIViewController-(id)initWithNibName:(NSString *) aNibNameOrNil bundle:(NSBundle *) aNibBundleOrNil 之前返回-(void)viewDidLoad 确实如此,但在我的 iOS4.0 设备上却相反。因此,当我不希望文本标签为 nil 时,文本标签可以为 nil。

因此,我不知道在哪里可以设置文本以使iOS3.0和iOS4.0都满意。

这里有什么建议吗?

I'm writing an app that will run on iOS3.0 and up.

The app has a custom UIViewController (say), which I'm instantiating from a .xib file. It's view comprises a single UILabel, which I've correctly declared and synthesized etc. in my custom UIViewController header and implementation files.

I'd like to set the text of this UILabel dynamically, and for it to be shown to the user by the time my UIViewController appears. For sake of argument please assume the text setting method is expensive.

The catch is on iOS3.0 with my UIViewController at least, -(id)initWithNibName:(NSString *) aNibNameOrNil bundle:(NSBundle *) aNibBundleOrNil returns before -(void)viewDidLoad does, but on my iOS4.0 device it's the other way around. The text label can therefore be nil when I don't want it to be.

Thus, I don't know where I can set the text in such a way as to keep both iOS3.0 and iOS4.0 happy.

Any advice here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陈甜 2024-12-16 03:45:07

您能解释一下您的标签是如何为零的吗?

如果您为标签选择了插座,那么无论哪种情况,在 - (void)viewDidLoad 方法中,只要标签插座在 xib 文件中正确连接,它就不能为 nil。

如果您还没有使用标签出口并通过代码执行此操作,请在 - (void)viewDidLoad 方法中再次实例化标签,并在那里设置其文本,然后将其添加到视图控制器的视图中。

有关更多信息 - 请阅读 - (void)viewDidLoad 和 - (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle 方法="http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html" rel="nofollow">UIViewController 类参考

Can you please explain how your label comes out to be nil?

If you have taken an outlet for the label, then in either case, in the - (void)viewDidLoad method it cannot be nil, provided the label outlet is properly connected in the xib file.

If you have not taken the label outlet and doing it by code, then instantiate the label again in - (void)viewDidLoad method and set its text right over there and then add it to the view controller's view.

For more information - read the - (void)viewDidLoad and - (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle method in the UIViewController class reference

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文