博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 面试常见问题总结
阅读量:6652 次
发布时间:2019-06-25

本文共 1750 字,大约阅读时间需要 5 分钟。

hot3.png

1.除了MVC模式 你还熟悉什么设计模式

   代理模式:当一个类的某些功能需要由别的类实现,但是又不确定具体是哪个类实现的

   单例模式:确保程序运行期,某个类只有一份实例,用于进行资源共享

   工厂模式:工厂模式创建的实例,多与proxy模式配合,创建可替代的类,一般用于基础控件的创建

   观察者模式:一般为model层,对controller和view进行通知,不关心谁接收,只负责发布消息

   策略模式:定义算法,封装起来,使他们之间可相互替换

2.线程和进程的区别与联系?谈谈多线程。

   

(1)一个线程只属于有一个进程,而一个进程可以有多个线程,至少有一个线程

(2)资源分配给进程,统一进程的所有线程共享该进程的所有资源

(3)处理机分给线程,即真正在处理机上运行的是线程

3.你在开发项目中,用到了那些数据存储方式,ios中常见的方式有哪几种?

(1)归档 :采用归档的形式来保存数据,该数据对象需要 遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:initWithCoder:方法。前一个方法告诉系统怎么对对象进行编码,而后一个方法则是告诉系统怎么对对象进行解码。例如对Possession对象归档保存  

(2)NSUserDefault:用来保存应用程序设置和属性、用户保存的数 据。用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:NSDataNSString NSNumberNSDateNSArrayNSDictionary。如果要存储其他类型,则需要转换为前面的类型,才能用NSUserDefaults存储。

(3)write写入,永久保存在磁盘中:具体方法为:第一步:获得文件即将保存的路径:NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask,YES);//使用C函数NSSearchPathForDirectoriesInDomains来获得沙盒中目录 的全路径。该函数有三个参数,目录类型、he domain mask、布尔值。其中布尔值表示是否需要通过~扩展路径。而且第一个参数是不变的,即为NSSearchPathDirectory 。在IOS中后两个参数也是不变的,即为:NSUserDomainMask  YESNSString *ourDocumentPath =[documentPaths objectAtIndex:0]; 

(4)sqlite数据库:一步需要添加SQLite相关的库以及头文件:在项目文件的Build Phases下,找到Link Binary Library(ies),添加libsqlite3.0.dylib;在项目文件中头文件或者源文件中添加头文件#import “/usr/include/sqlite3.h”第二步:开始使用SQLite:使用前注意:如果不往数据库里面添加任何的表,这个数据库等于没有建立,不会在硬盘上产生任何文件,如果数据库已经存在,则会打开这个数据库。

4.arc的程序出现内存泄露怎么办

   用ARC的,只是编译器帮你管理合适release、retain,不用ARC就需要你自己去管理,说到底就是谁去管理的问题,如果实在找不到问题,建议你找到内存泄露的那个对象,将其赋值为nil,因为在ARC中,一旦对象没有指针指向,就会马上释放

5.❤️简述一下iOS应用开发流程

 (1)产品经理做需求调研,确定产品需求,编写需求文档

 (2)产品人员完成产品原型

 (3)产品经理召开会议(产品,uI,开发,测试,服务器)

 (4)服务器与客户端成员一起制定接口文档

 (5)项目经理制定开发进度,分配任务,预算开发周期

 

 (6)移动客户端开发人员根据UI界面和需求文档,开始编码,开发模块上的功能

 

 (7)开发者完成开发后提交给测试

 (8)测试部分完毕,提交给产品经理,验收产品

 

 (9)提交到appstore

转载于:https://my.oschina.net/u/2429628/blog/493364

你可能感兴趣的文章
Zebra 在SAP中的使用示例(中英文版本)
查看>>
Android学习笔记1 android adb启动失败问题 adb server is out of date. killing...
查看>>
PostgreSQL的注释嵌套的例子
查看>>
jQuery插件开发初探
查看>>
AnimationState
查看>>
Clojure绘制UML
查看>>
【转】Ultimate Traffic Shaper
查看>>
禁止wordpress版本自动升级的解决方案
查看>>
字符串相似度算法(编辑距离算法 Levenshtein Distance)(转)
查看>>
Kurskal算法生成最小生成树MST
查看>>
Nyoj 43 24 Point game 【DFS】
查看>>
Java2下Applet数字签名具体实现方法
查看>>
豪斯医生第一季/全集House M.D 1迅雷下载
查看>>
oracle服务器本地能够登录但是局域网内其他机器不能访问的解决方法
查看>>
应用框架的特点
查看>>
36.3. title
查看>>
float4与half4数据类型
查看>>
CodeDom六--实体类生成示例
查看>>
把数组中的奇数放到偶数之前
查看>>
操作系统复习笔记(五)
查看>>