标签:space ping 本质 sda sar 轻量级 筛选 不能 使用
1.请简述你对工厂方法的理解?
工厂Mycontrol,设计控件是用到工厂设计模式。类簇类似于工厂设计模式;工厂模式就是定义创建对象的接口,让子类决定实例化哪一个类。这样,类的实例化就推迟到了子类
2.UITableView有哪些优化方式?
UITableView的优化主要从三个方面入手:
? 提前计算并缓存好高度(布局),因为heightForRowAtIndexPath:是调用最频繁的方法;
? 异步绘制,遇到复杂界面,遇到性能瓶颈时,可能就是突破口;
? 滑动时按需加载,这个在大量图片展示,网络加载的时候很管用!(SDWebImage已经实现异步加载,配合这条性能杠杠的)。
3.你如何理解block,block有什么用途?
? 我们可以把Block当做Objective-C的匿名函数。Block允许开发者在两个对象之间将任意的语句当做数据进行传递,往往这要比引用定义在别处的函数直观。另外,block的实现具有封闭性(closure),而又能够很容易获取上下文的相关状态信息。
? block是代码块,其本质和变量类似。不同的是代码块存储的数据是一个函数体。使用Block,就可以像其他标准函数一样,传入参数,并得到返回值。
作为OC对象的属性,实现对象之间的传值 ? Block可以看做是一个变量,因此可以作为OC对象的属性
4.请问怎样能够保证定位更省电?
1.开启开始定位之后,不关闭,让其持续定位
2.设置距离筛选器:坐标移动到指定距离才会调用代理方法
3.设置精准度:通过降低计算的过程(GPS),来达到省电的目的
5.请简述NSUserDefaults的使用场景和 使用注意事项?
SUserDefaults适合存储轻量级的数据,他不仅可以存储基本数据类型,还可以存储NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL类型。
但是NSUserDefaults不能存储自定义的类对象,若把一个对象存储到NSUserDefaults会报错。聪明的人会把对象放进数组,再把数组存入NSUserDefaults,不过这样做事错误的,因为数组中包含了自定义对象。
若要在NSUserDefaults中存入自定义对象,则对象需要遵循NSCoding协议,并实现encodeWithCoder方法和initWithCoder方法。具体参考http://my.oschina.NET/u/1245365/blog/294449
值得一提的是,我发现类型为NSNull的空数据也是无法存入NSUserDefaults的。若数据中有NSNull类型空数据,把它置nil即可存入NSUserDefaults。
总之,NSUserDefaults是一种操作简单的数据库。
6.iOS中数据库使用什么技术实现的 ?
使用Sqlite和CoreData实现的
7.iOS中如何实现数据模型的存储?
归档也是iOS提供给开发者的一种数据存储的方式,事实上,几乎所有的数据类型都可以通过归档来进行存取。其存储与读取的过程,主要封装在两个类中:NSKeyedArchiver和NSKeyedUnarchiver
标签:space ping 本质 sda sar 轻量级 筛选 不能 使用
原文地址:http://www.cnblogs.com/wn-blog/p/7183347.html