gpt4 book ai didi

ios - 如何将数据从父 View Controller 传递到 subview Controller ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:40 25 4
gpt4 key购买 nike

如何将数据从父 View Controller 传递到 subview Controller ?

我尝试与委托(delegate)一起这样做。但我不认为这是一个选择?

最佳答案

选项 1

如果您要从父 View Controller 传递到 subview Controller ,则只需从父 View 设置您的 childViewController 的属性即可。

customChildViewController.someRandomProperty = @"some random value";
[self presentViewController:customChildViewController animated:YES completion:nil];

选项 2

或者,你可以设置一个委托(delegate)

第一步:在ChildViewController.h文件中设置接口(interface)上面的协议(protocol)

@protocol ChildViewControllerDelegate

- (NSDictionary *) giveMeData;

@end

@interface .....

第二步:在 ChildViewController.h 接口(interface)中创建委托(delegate)属性

@property (strong, nonatomic) id<ChildViewControllerDelegate>delegate

第三步:在ParentViewController.h中声明委托(delegate)协议(protocol)

@interface ParentViewController : UIViewController <ChildViewControllerDelegate>

第四步:在ParentViewController.m中添加这个方法:

- (NSDictionary *) giveMeData {
NSMutableDictionary * dataToReturn = [[NSMutableDictionary alloc]init];
dataToReturn[@"some"] = @"random";
dataToReturn[@"data"] = @"here";
return dataToReturn;
}

第 5 步:在启动 childViewController 之前声明委托(delegate)属性。

childViewController.delegate = self;
[self presentViewController:childViewController animated:YES completion:nil];

第 6 步:在您需要数据时在 subview Controller 中添加此

NSMutableDictionary * dataFromParent = [self.delegate giveMeData];

parentVC 将运行“giveMeData”并返回一个 NSMutableDictionary(根据您想要的任何数据进行调整)

关于ios - 如何将数据从父 View Controller 传递到 subview Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22238565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com