一.iOS在切换根控制器时,如何销毁之前的控制器?(切换rootViewController时注意的内存泄漏) 首先.在iOS的ARC机制下,任何对象,当没有其他对象对他进行强引用时,都会被自动释放. 而控制器的切换主要为两种方式 push和present modally. 1.0 push出来的子控制器,导航栏控制器会对该子控制器进行强引用(本质就是入栈,在入栈的过程中,可能不止是导航栏控制器对子控制器有强引用) 其中 push 对应着 pop 则控制器会被销毁.其push的本质是入栈,所有的…
通知方式: 1.有一个(单例)通知中心,负责管理iOS中的所有通知 2.需要获取某种通知,必须注册成为观察者(订阅) 3.不再需要取某种通知时,要取消注册. 4.你可以向通知中心发送某种通知,通知中心会转发给相应的观察者(订阅者). 将第一个控制器和第二个控制器以modal(push)方式联接后,每一个控制器和各自的类相关联,同时将segue的idetifier标识设置一个名字,正向传数据时,需要根据segue的标识符进行唯一的识别.反向传数据时,采用通知的方法. 1.所有的文件: 2.第一个控…
最近想到的一个小需求: 首页切换:点击一个切换按钮,能实现首页的风格.排版等变换,原理是用一个新的VC替换掉. 效果如下:   ====>====> 实现方式很简单: 以我的Demo为例,讲一下思路 1.将一下我的准备条件:底部是tabbarcontroller,每个里面装载一个Nav控制器 2.找到第一个tabbar,替换内部子控制器 核心代码实现: 构造一个新Nav let newVC = UIStoryboard(name: "CurriculumSchedule",…
代理: 1.发送信息的控制器设置一个代理,并自定义一个代理的方法,用来传递数据 2.接受信息的控制器遵循发送信息的控制器的协议 3.接受信息的控制器设置发送信息的控制器的代理为自己self 4.接受信息的控制器实现协议中的方法,即接受数据 首先将控制器通过modal(push)方式联接,同时设置segue的identifier标识,因为这个identifier是与目的控制器唯一的识别的方式,最后再进行代码操作. 1.所有文件: 2.让FirstViewController关联自己的类ViewCo…
转自linfengwenyou 在运行过程中更改根控制器的方法:(假设:A为当前根控制器,B为要设的根控制器) 方法一: 1. appdelegate.m中 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; A *vc = [[A alloc] init]; // init会执行viewDidLoad viewWillAppear vc.view.backgroundColor = [UICo…
仿新浪微博 UINavigationController 向左滑动时显示上一个控制器的View. 实现原理,UINavigationController 的 self.view显示时把当前显示的view截图下来,保存到一个数组中.当push一个view时把上一个view的截图放到self.view后面,当self.view向右拖动时显示上一个view. NavigationController.m #import "NavigationController.h" @interface…
今天做项目的时候,对于不同的用户,需要创建不同的数据库.但是退出登录切换账号时,因为用单例创建数据,导致切换账号不会切换数据.所以,需要销毁单例.销毁单例时,调用以下的代码: 在创建单例的那个类中,调用如下的代码:…
解决切换Fragment时布局重新实例化 作者 instanceof 关注 2015.12.30 17:25* 字数 628 阅读 7616评论 17喜欢 23 关于Fragment 在这简单说一下Fragment,Fragment是Android 3.0以后才出现的,是为了适应不同的手机屏幕.平板和电视机的屏幕的.另外还有一个重要的原因,因为Activity的创建到销毁需要费时费内存,大量的Activity之间的跳转会造成堆栈饱满,引发程序崩溃或者无响应.为了解决这个问题,Fragment就产…
使用ViewPager切换Fragment,我原先使用系统自带的适配器FragmentPagerAdapter. 切换fragment时,频繁调用oncreatview(). 查看FragmentPagerAdapter的源码,发现两个关键的地方 @Override public Object instantiateItem(ViewGroup container, int position) { if (mCurTransaction == null) { mCurTransaction =…
iOS打包导出时出现Missing iOS Distribution signing 上传APP就出现Missing iOS Distribution signing indetity for 打包ipa因“此证书的签发者无效” 导致的 “Missing iOS Distribution signing identity for”...的问题…