1 iOS中传值的方式
属性 代理 通知 单例 block
2 写一个单例 代理 类别
单例
+(id)allocWithZone:(struct _NSZone *)zone
{
static Person *person;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
person = [super allocWithZone:zone];
});
return person;
}
+(Person *)sharePerson
{
return [[self alloc] init];
}
3 info.plist 和Prefix.pch的用处
info.plist
项目的配置属性
Prefix.pch
1.存放一些全局的宏(整个项目中都用得上的宏)
2.用来包含一些全部的头文件(整个项目中都用得上的头文件)
3.能自动打开或者关闭日志输出功能
4iOS中是否有多线程?怎么实现多态?
没有
分类和协议
5 多线程有哪些?主线程和次线程有什么区别?怎么通信?
NSThread GCD NSOperation
主线程不需要创建就存在,子线程需要创建,初始时候不存在
更新UI必须在主线程 而进行延时操作一般都在子线程
-(void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait
dispatch_async(dispatch_get_main_queue(), <#^(void)block#>)
6 数据存储的方式
1 plist
2 归档
3 SOLite
4CoreData
7jason解析遇到大量数据解析过程时,在内存上的优化办法
利用json的反序列话的几个代理方法,实现大数据的分割,解析,拼接,保存,从而降低内存的消耗。
优化后台接口,使后台返回的数据大小更合理
在APP中,一般不会出现大数据,因此注意接口的优化,尽量不要使用数据分割的方式,因为可能引起数据解析错误
8mvc模式
1> M:Model,模型,封装数据
2> V:View,视图界面,负责展示数据
3> C:Controller,控制器,负责提供数据(Model)给界面(View)
9iOS中的文件目录以及常保存的数据内容
1、Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。
2、AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。
3、Library 目录:这个目录下有两个子目录:Caches 和 Preferences
Preferences 目录:包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好.
Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。
4、tmp 目录:这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。
10查找table中id<10和随机10条的sql语句
select top 10* from Table where id < 10
select top 10* from Table order by newid()