Loading...
前段时间看到一个关于AppDelegate瘦身的文章 AppDelegate瘦身指南。想起来自己在这方面做得一些事情,拿出来一起分享一下。我写了一个单独的类库来处理这个问题: MRAppDelegateComponents。使用可以直接:pod 'MRAppDelegateComponents'关于AppDelegate碰到的问题不再赘述。但是我们可以把问题再抽象一层,AppDelegate...
相关代码可在Github得到在某些特殊的场景下,我们会有判断父类是否实现了某个方法的需求。比如在tableViewDelegate中的didSelectCellAtIndexPath方法中:为了不覆盖父类的对应方法,在实现的时候需要实现判断一下父类是否实现了该方法,实现了则调用一下父类的方法,没有实现则不调用如下:- (void) tableView:(UITableView *)table...
这边的产品需求,需要在某些场景下进行清场操作,将所有的ViewController堆栈清空,页面回滚到首页。我们内部的页面都能够完成这个操作。但是有些第三方的页面,怎么都搞不掉。比如支付宝的页面。因为是引入的SDK,没有代码,所以第一方案,向支付宝侧提出需求,要求提供一个函数接口,能够清退他们的界面,但是他们说不能满足该需求。所以,我们只能开始了黑科技之旅。首先寻找支付宝的View因为我们的...
在值可穷尽的情况下可使用枚举类型当场景能够全覆盖的时候才使用枚举类型,比如付款状态:付款前,付款中,付款后,中前后三个状态能够覆盖所有付款的时间场景。值在不可穷尽的情况下不适合使用枚举。请考虑其他方式或者设计模式来解决当前问题而付款失败的种类,则不适合使用枚举类型,因为枚举无法覆盖全量的失败场景,在1.0版本的时候可能只有2,3,5这几种失败code,到了2.0的时候又多了6,8,9,。。。...
使用宏定义来简化输入,提高输入的效率。同时提高输入准确性。案例一 属性定义 @property我们在定义一个类的属性的时候,@interface TestObject : NSObject @property (strong, nonatomic) NSString* title; @end最起码要输入5个单词,四个符号和多个空格。写多了就会觉得这里重复输入的地方太多,为什么不想个办法优...