作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如何将数据从父 View Controller 传递到 subview Controller ?
我尝试与委托(delegate)一起这样做。但我不认为这是一个选择?
最佳答案
如果您要从父 View Controller 传递到 subview Controller ,则只需从父 View 设置您的 childViewController 的属性即可。
customChildViewController.someRandomProperty = @"some random value";
[self presentViewController:customChildViewController animated:YES completion:nil];
或者,你可以设置一个委托(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/
我是一名优秀的程序员,十分优秀!