iOS通信软件架构跳转问题

想写一个WiFi通信的软件,首页跳转到通信界面以后,打开switch开关,如果这时候返回到首页,再次跳转到通信界面的时候,一切都初始化了,重新创建了一个UIView出来,我想跳转到旧的UIView,信息和switch开关都还是原来的状态,应该怎么架构?用到什么技术?
图片说明

4个回答

storyboard和xib没怎么用过,感觉没自定义来的自由。给你一个思路:
你可以自定义这个跳转过程,从结构来看,你是用NavigationController来进行跳转的吧
开始第一次的时候,你是从RootView跳转到SecondView的时候,在RootView里面新建SecondView,再跳转到SecondView,大致如下:

//注意,这个secondView需要你存在RootView里面的SecondView类型的全局变量
secondView = [[SecondView alloc]init];
[self.navigationController pushViewController:secondView animated:YES];

这个secondView你要存好,之后你回来之后第二次要跳转到secondView的时候,不需要新建SecondView,直接用navigationController加载就行了

 [self.navigationController pushViewController:secondView animated:YES];

这样就不会去重新执行viewdidload了。

u012138272
Michael_Zhan_Tcys 根据你的思路,我在appdelegate里面写了个全局变量,用来放UIView的地址,然后默认为空,跳转的时候赋值,第二次要跳转先看是不是为空,不是的话直接跳转。就可以了。
4 年多之前 回复
u012138272
Michael_Zhan_Tcys 我看了一下,我从secondview返回到RootView以后,服务器显示客户端还是连接着的,那就说明SecondView还是在的吧?那我为什么不能回到原来的SecondView,而是去appDelegate定义全局变量或者是链接上写的那样?不能像安卓那样返回原来的UIView吗?不然每次都新建一个View,很浪费内存吧?
4 年多之前 回复

你保存这些状态到plist等。然后再view的didviewappear等中读取设置,初始化控件

u012138272
Michael_Zhan_Tcys 我看了一下,我从secondview返回到RootView以后,服务器显示客户端还是连接着的,那就说明SecondView还是在的吧?那我为什么不能回到原来的SecondView,而是去appDelegate定义全局变量或者是保存到plist中?不能像安卓那样返回原来的UIView吗?不然每次都新建一个View,很浪费内存吧?
4 年多之前 回复

解决了,思路:在appdelegate里面创建全局变量,默认为nil,跳转的时候赋值,第二次跳转的时候先判断是不是为空,不是的话直接跳转。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐