必备知识架构

知识架构

iOS知识库

Android知识库

目录

  • 十一、谈谈设计模式
  • 十二、如何优化过于臃肿的Controller
  • 十三、谈谈性能优化(功耗)
  • 十四、UITableView的优化、重用
  • 十五、布局 layoutsubview、drawrect等
  • 十六、有逼格的代码
  • 十七、单元测试
  • 十八、APP审核

  • 常见笔试/面试题

  • END

十一、谈谈设计模式

< 返回目录

十二、如何优化过于臃肿的Controller

< 返回目录
如何优化过于臃肿的Controller

十三、谈谈性能优化(功耗)

< 返回目录

UITableView的优化、重用

< 返回目录

布局 layoutsubview、drawrect等

< 返回目录

有逼格的代码

typedef NSString * NSRunLoopMode NS_EXTENSIBLE_STRING_ENUM;
提升自己逼格的编程之美之代码规范
iOS开发细节 | 通知怎么写?
实现NS_ENUM的自定义反射

单元测试

< 返回目录

APP审核

< 返回目录

如果一个页面被苹果拒回。那怎么通过审核。(参考金融类APP提交苹果审核,怎么避开5.2.1)

答:

1.第一种是有后台控制壳什么时候出现。移动端传一个版本号给后台,后台根据版本号判断App否在审核,在审核就显示壳,不在审核就显示原生界面。

2.直接由移动端来切换界面。此时App需要登录才能看到主界面,对给苹果审核人员的测试账号做一个判断,如果是测试账号,就显示壳,非测试账号显示原生界面。

其中:

第一种方式用户进来就可以看到主界面,更有利于吸引自然流量,但是如果苹果后期复查,发现了用户使用的App跟审核的不一样,会被下架。

第二种方式不利于吸引自然流量,但是被下架的风险很小,因为苹果的审核团队在美国,不可能自己去注册账号,复查也没关系,除非有人举报你的App。

常见笔试/面试题

< 返回目录

1、如何使用一个for循环输出九九乘法表

NSJSONSerialization
1
2
NSData *data = [operation.responseString dataUsingEncoding:NSUTF8StringEncoding];
NSMutableDictionary *responseObject_dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];

//NSJSONReadingMutableContainers的作用: http://blog.csdn.net/chenyong05314/article/details/45691041

1
2
3
NSJSONReadingMutableContainers:返回可变容器,NSMutableDictionary或NSMutableArray。
NSJSONReadingMutableLeaves:返回的JSON对象中字符串的值为NSMutableString
NSJSONReadingAllowFragments:允许JSON字符串最外层既不是NSArray也不是NSDictionary,但必须是有效的JSON Fragment。例如使用这个选项可以解析 @“123” 这样的字符串。

iOS中常见Crash总结

END

< 返回目录