06 2017 档案
摘要:处理unrecognized selector异常原因 假如封装一个方法,在其他模块调用该方法时,传入参数不匹配则crash。比如下面的方法:本应该传入的参数类型为NSMutableArray,如果传入的参数类型是NSArray,导致抛出 unrecognized selector异常 1 2 3
阅读全文
摘要:IGListKit https://github.com/Instagram/IGListKit 由 Instagram 开发人员制作,IGListKit 是用于构建快速灵活列表的数据驱动型的 UICollectionView 框架。 此外,它可以帮助你在应用程序中避免大量使用视图控制器的情况。可查
阅读全文
摘要:Class:存放的是App中所有的模块功能 Base:存放一些基类,比如BaseViewController,BaseModel等,共性直接在基类中去修改 Vendor:三方,因为我的项目中使用cocopods管理三方,所以这个文件夹中我在此放的是一些比较小的功能的第三方 Framework:存放一
阅读全文
摘要:一.通知 对于通知,大家想必都不陌生,它是一个单例,允许当事件发生时通知一些对象,让我们在低程度耦合的情况下,来达到通信的目的。 通知的优势:1.不需要编写太多代码,实现比较简单2.对于一个发出的通知,可以多个对象作出反应,即是说通知是一对多的形式 通知的缺点:1.在编译期不会检查通知是否能够被观察
阅读全文
摘要:第一部分:面试题 注意,下面这些题只是我准备的题库。在实际面试的时候我会根据面试者的水平抽出相应的题目来出的。 技术 基础 为什么说Objective-C是一门动态的语言? 讲一下MVC和MVVM,MVP? 为什么代理要用weak?代理的delegate和dataSource有什么区别?block和
阅读全文
摘要:iOS常见的几种加密方法 普通加密方法是讲密码进行加密后保存到用户偏好设置中 钥匙串是以明文形式保存,但是不知道存放的具体位置 1、base64加密 base64 编码是现代密码学的基础 基本原理: 原本是 8个bit 一组表示数据,改为 6个bit一组表示数据,不足的部分补零,每 两个0 用 一个
阅读全文
摘要:instruments 在iOS上进行性能分析的时候,首先考虑借助instruments这个利器分析出问题出在哪,不要凭空想象,不然你可能把精力花在了1%的问题上,最后发现其实啥都没优化,比如要查看程序哪些部分最耗时,可以使用Time Profiler,要查看内存是否泄漏了,可以使用Leaks等。关
阅读全文
摘要:1、Swift还增加了Objective-C中没有的类型比如元组(Tuple)。 元组可以让你创建或者传递一组数据,比如作为函数的返回值时,你可以用一个元组可以返回多个值。 元组(tuples)把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型。 注意:元组在临时组织值的时候很有
阅读全文
摘要:5月18号,goole宣布Kotlin成为官方支持的开发语言以来,Kotlin语言社区,公众号,qq群等全面轰炸,本文是一篇译文,来自国外的一个用户,将给大家介绍,基础语法部分Kotlin和java之间的差异,对于使用java开发android的大牛们来说可以做个基本的比较。 1. Kotlin,d
阅读全文
摘要:本文出自Uber移动架构和框架组负责人托马斯·阿特曼于2016年在湾区Swift峰会上的演讲,分享了使用Swfit重写Uber的好与坏。以下为译文: 我是托马斯·阿特曼,目前是Uber移动架构和框架组负责人。Uber现在的用户量已经达到数百万,这么大的用户量,Uber是如何用框架实现的呢? Swif
阅读全文
摘要:这里将init方法私有化了,这样在其他地方就无法init,保证了单例的唯一性。如果继承自其他类,init方法要加override关键字。
阅读全文