gpt4 book ai didi

ios - 如何在 View 之间保持类活力?

转载 作者:行者123 更新时间:2023-11-29 02:17:55 25 4
gpt4 key购买 nike

我们有一些蓝牙类,可以创建与蓝牙模块的连接。只要此类存在,连接就存在。我们正在 viewA 中创建该类实例。当我们转到 viewB 时,我们希望通过将 BL 类传递给下一个 View viewB 来保持 BL 类存活。

我们将如何做到这一点(没有单例,只是传递它,或使用应用程序委托(delegate))

viewA 中:

//creating the instance of the BL class

self.bluetooth=[[BLEModule alloc] init];
self.bluetooth.delegate=self;
...
....
//go the next view-viewB (now pass that instance self.bluetooth to viewB)

UIViewController *next=[[CallTestView alloc]init];
AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[UIView transitionFromView:delegate.window.rootViewController.view
toView:next.view
duration:1.5f
options:UIViewAnimationOptionTransitionFlipFromLeft
completion:^(BOOL finished)
{
delegate.window.rootViewController=next;

}];

最佳答案

首先,使用 AppDelegate 有点像单例(您保留对一个初始化一次的对象的引用,并在有人询问时传递对它的引用)。

但是要回答你的问题,你有几种方法可以做到这一点

1) 委托(delegate) - viewAviewB 的委托(delegate),您可以在它们之间传递信息。检查一下 Link

2) KVO - viewB注册到一个“电台”并收听消息,viewA广播到那个“电台”,通过那个你可以传递信息在 viewAviewB 之间(甚至在多个 View 之间)。检查一下 Link

3) segue - 您可以使用 segueviewAviewB 之间传递信息(如果它们与一个连接)。检查这个Link

上述每种方法都有优点和缺点。您需要弄清楚什么最适合您的情况

关于ios - 如何在 View 之间保持类活力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28537978/

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