cuốn sách gpt4 ai đã làm

iphone - iOs:为什么 IBOutlets 在 [[alloc] init] 之后没有连接,而是在 viewDidUnload 之后连接:已被调用

In lại Tác giả: Hồ Xil 更新时间:2023-11-01 06:19:04 hai mươi bốn 4
mua khóa gpt4 Nike

我有一个简单的 UINavigationViewController,当某个项目被选中时,它会创建一个模态视图,其中有一个 UIImageView(下面的 PostcardViewController)。但是,如果我调用

PostcardViewController *postcardViewController = [[PostcardViewController alloc] init];
postcardViewController.imageView.image = image;
[self.navigationController presentModalViewController:postcardViewController animated:YES];

postcardViewController.imageView 为空,图像永远不会显示。如果我切换后两行,并使其成为:

PostcardViewController *postcardViewController = [[PostcardViewController alloc] init];
[self.navigationController presentModalViewController:postcardViewController animated:YES];
postcardViewController.imageView.image = image;

postcardViewController.imageView 已设置,显示正常。一切都在 Interface Builder 中连接起来,而 PostcardViewController 中没有任何特定代码。通过调试,我发现,是在 [viewDidLoad] 被调用之后 imageView 被连接起来,并且 [viewDidLoad] 在我调用 [presentModalViewController].

这是为什么,还有,我是不是做错了什么?我想我应该在实际显示它之前设置整个 View ,但截至目前,我必须先显示它才能完全设置它。

câu trả lời hay nhất

您只是使用 alloc+init 创建了 View Controller ,而不是 View 本身。 View 是延迟加载的,即第一次使用时。要在实际显示之前强制创建 View ,请执行以下操作:

PostcardViewController *postcardViewController = [[PostcardViewController alloc] init];
postcardViewController.view; // Forces the view to be loaded
postcardViewController.imageView.image = image; // Will no longer be nil
[self.navigationController presentModalViewController:postcardViewController animated:YES];

关于iphone - iOs:为什么 IBOutlets 在 [[alloc] init] 之后没有连接,而是在 viewDidUnload 之后连接:已被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4134897/

hai mươi bốn 4 0
Bài viết khuyến nghị: iphone - 如何在 UiView 中添加 UIImagePickerController
Bài viết khuyến nghị: iphone - CTFont 和 Core Text 框架
Bài viết khuyến nghị: objective-c - 从 NSString 获取长值
Bài viết khuyến nghị: ios - Xcode 3.2.5 与 IOS SDK 4.2 下载
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress