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

ios - 在 block 中创建对象

In lại Tác giả: Walker 123 更新时间:2023-11-28 18:35:45 25 4
mua khóa gpt4 Nike

我试图在我的 block 调用中创建 View Controller ,当它从 block 返回时我的对象变为零。如何解决?

我的 block 声明:

typedef void (^GetViewController)(UIViewController *viewController, int index);

需要 VC 时调用 block (viewController 现在为 nil)

self.getViewController(viewController, index);

在另一个类中设置VC

self.myController.getViewController = ^(UIViewController *viewController, int index)
{
switch (index) {
case Option1:
viewController = [[Option1VC alloc] init];
phá vỡ;
case Option2:
viewController = [[Option1VC alloc] init];
phá vỡ;
mặc định:
phá vỡ;
}
//at this point VC is created
};

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

您的 block 正在修改传递给它的参数。参数按值传递,因此更改的值将被丢弃。

为什么不让 block 返回一个 View Controller 作为 block 结果?这样,编译器应该生成代码,以便它保持事件状态,直到调用者有机会将结果分配给强变量。

关于ios - 在 block 中创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19570065/

25 4 0
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