IOS

***iOS 项目的目录结构能看出你的开发经验

最近有师弟去面试iOS开发,他谈论到,面试官竟然问他怎么分目录结构的,而且还具体问到每个子目录的文件名。目录结构确实很重要,面试官问他这些无疑是想窥探他的开发经验。清晰的目录结构,可让人一眼知道对应目录的职能,这也能体现开发者的经验和架构能力。目前,我接触过的项目中,比较常规的两种结构:1.主目录按照业务分类,内目录按...

iOS开发多线程篇—多线程简单介绍

iOS开发多线程篇—多线程简单介绍 一、进程和线程1.什么是进程 进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内  比如同时打开QQ、Xcode,系统就会分别启动2个进程通过“活动监视器”...

iOS宏定义的使用与规范

http://my.oschina.net/leejan97/blog/354904宏定义在很多方面都会使用,例如定义高度、判断iOS系统、工具类,还有诸如文件路径、服务端api接口文档。为了对宏能够快速定位和了解其功能,我们最好在定义的时候将其放入特定的头文件中,下面我抛砖引玉,对一些常用的宏进行分类、分文件定义,希...

iOS开发笔记--宏定义的黑魔法

 宏定义在C系开发中可以说占有举足轻重的作用。底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行。而在更高层级进行开发时,我们会将更多的重心放在业务逻辑上,似乎对宏的使用和依赖并不多。但是使用宏定义的好处是不言自明的,在节省工作量的同时,代码可读性大大...

iOS设计模式——委托(delegate)

委托(delegate)也叫代理是iOS开发中常用的设计模式。我们借助于protocol(参考博文:objective-c协议(protocol))可以很方便的实现这种设计模式。苹果的官方文档给了很清晰的解释:Delegationisasimpleandpowerfulpatterninwhichoneobjectin...

iOS设计模式——Category

Category模式用于向已经存在的类添加方法从而达到扩展已有类的目的,在很多情形下Category也是比创建子类更优的选择。新添加的方法同样也会被被扩展的类的所有子类自动继承。当知道已有类中某个方法有BUG,但是这个类是以库的形式存在的,我们无法直接修改源代码的时候,Category也可以用于替代这个已有类中某个方法...

IOS开发之表视图(UITableView)

IOS开发之表视图(UITableView)的基本介绍(一)   1.在IOS开发中,表视图的应用十分广泛和普及。因此掌握表视图的用法显得非常重要。一般情况下对于数据的展示我们都会选择表视图,比如通讯录和一些数据列表。  2.我们可以选择创建表视图也可以创建表视图控制器...

iOS学习之NSBundle介绍和使用

bundle是一个目录,其中包含了程序会使用到的资源.这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in).对应bundle,cocoa提供了类NSBundle.我们现在用bundle获取程序里的一张图片,并显示到View上。 新建一个SingleViewAppli...

iOS开发之版本控制(SVN)

 版本控制对于团队合作显得尤为重要,那么如何在iOS开发中进行版本控制呢?在今天的博客中将会介绍如何在MAC下配置SVN服务器,如何导入我们的工程,如何在Xcode中进行工程的checkOut和Commit.  一、配置SVN服务器    1、创建Svn服务工作路径同时新建我们的App工程,入下图所示,SVN_Proj...

Emoji表情符号兼容方案(适用ios,android,wp等平台)

http://blog.csdn.net/qdkfriend/article/details/7576524 Emoji表情符号兼容方案一什么是Emoji      emoji就是表情符号;词义来自日语(えもじ,e-moji,moji在日语中的含义是...

无限互联IOS电影项目视频笔记

下面是该iOS项目视频教程的内容大纲:观看指南(1)项目为第一阶段内容(2)需要熟练掌握OC语言(3)UI部分需要学习到第十节课(4)项目适合刚入门的iOS开发者1、第一天(1)iOSAPP开发流程介绍(2)项目架构之分栏控制的设计(3)项目架构之对象的安全释放笔记:可以用runstatic打开计数器分析,来查看计数器...

IOS快速集成下拉上拉刷新

http://code4app.com/ios/%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E4%B8%8B%E6%8B%89%E4%B8%8A%E6%8B%89%E5%88%B7%E6%96%B0/52326ce26803fabc46000000 介绍:测试环境: &...

iOS多线程GCD

GrandCentralDispatch(GCD)是Apple开发的一个多核编程的解决方法。dispatchqueue分成以下三种:1)运行在主线程的Mainqueue,通过dispatch_get_main_queue获取。/*!*@functiondispatch_get_main_queue**@abstract...
IT猿·2020-03-26

iOS后台如何保持socket长连接和数据传输

工程中使用tcp长连接来和服务端进行数据传输,在IOS平台上,由于苹果的后台机制,会有以下问题:当程序退到后台的时候,所有线程被挂起,系统会回收所有的socket资源,那么socket连接就会被关闭,因此无法再进行数据的传输: 解决方法:通过设置以下属性可以保持socket连接和数据的继续传输1.需要在Inf...

iOS NSString 和NSData 转换

NSString转换成NSData对象 NSData*xmlData=[@"testdata"dataUsingEncoding:NSUTF8StringEncoding];NSData转换成NSString对象 NSData*data;NSString*result=[[NSStringalloc...