gpt4 book ai didi

ios - 在 iOS 中创建 View 对象并在 View 之间共享数据

转载 作者:行者123 更新时间:2023-11-28 22:34:31 29 4
gpt4 key购买 nike

我是 iOS 的新手。我最近遇到了一个问题。我有一个 View A 和一个 View B。 View A 有一个导航 Controller 。 View A 有一个按钮可以切换到 B。每次 B 创建新对象时我都单击此按钮。我如何跟踪此对象以在这两个 View 之间共享数据。谢谢

最佳答案

有几种方法可以做到这一点。

您可以拥有 B 的属性,A 在您推送之前设置该属性。 (NSDictionary、数组、字符串等)这不是最好的方法,但它会起作用。

UIViewController *viewB = [[UIViewController alloc]init];
[viewB setMyProperty:@"some data!"];
[self.navigationController pushViewController:viewB animated:YES];

您还可以使用 NSNotificationCenter 将对象传递到下一个 View 。

NSDictionary *dictionary = [NSDictionary dictionaryWithObject:
[NSNumber numberWithInt:index]
forKey:@"index"];

[[NSNotificationCenter defaultCenter] postNotificationName:@"myNotification"
object:self
userInfo:dictionary];

我通常处理此问题的方法是设置和对象,该对象使用在我的 AppDelegate 中初始化的关联协议(protocol)来保存我的数据。然后,任何需要读/写内容的 View 只需获取指向该对象的指针并使用它运行。

@class AppData;

@protocol AppDataProtocol

- (AppData*)theAppData;

@end

在 View 中,您可以使用它来抓取指针。

-(AppData*)theAppData {

id<AppDataProtocol> theDelegate = (id<AppDataProtocol>)[UIApplication sharedApplication].delegate;
AppData* theData = (AppData*)theDelegate.theAppData;

return theData;
}

还有这个。

 appData = [self theAppData];

然后您就可以轻松访问 appData 的任何属性。

关于ios - 在 iOS 中创建 View 对象并在 View 之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16465415/

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