摘要: 在一个项目中,我们会经常用到许多plist文件,但是你怎么快速生成plist 文件吗?我给你提供一个方法。NSArray *title = [[NSArray alloc]initWithObjects:@"限免",@"降价",@"免费",@"专题",@"热榜", nil]; NSArray *i... 阅读全文
posted @ 2015-08-04 22:06 heyuan123 阅读(641) 评论(0) 推荐(0) 编辑
摘要: UIViewAutoresizing只能控制父子视图之间的布局首先父视图要允许子视图自动伴随父视图变化而变化然后子视图自己设置怎么伴随变化//父视图设置父子视图自适应/停靠模式 _redView.autoresizesSubviews = YES;//允许子视图伴随父视图自动变化//子视图设置子视... 阅读全文
posted @ 2015-08-04 22:02 heyuan123 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 在本地可以通过进程PID(progress id)来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址,协议,端口)就可以... 阅读全文
posted @ 2015-08-04 21:59 heyuan123 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 推送:实现消息推送的步骤1、注册:为应用程序申请消息推送服务。此时你的设备会向APNs服务器发送注册请求。2、APNs服务器接收请求,并将deviceToken返给你设备上的应用程序3、客户端应用程序将deviceToken发送给后台服务器程序,后台接收并储存。4、后台服务器向APNs服务器发送推送... 阅读全文
posted @ 2015-08-04 21:57 heyuan123 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 一.什么是XMPP XMPP是一种基于XML的即时通讯协议,前身是jabber.二.为什么要写XMPP单例 由于XMPPStream是基于myJID建立的长连接,因此在应用程序中应该仅被实例化一次(也就是建立单例) + (id)shareInstance { static id _s; if ... 阅读全文
posted @ 2015-08-04 21:55 heyuan123 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 在类的定义之外为类增加额外的存储空间 使用关联,我们可以不用修改类的定义而为其对象增加存储空间。这在我们无法访问到类的源码的时候或者是考虑到二进制兼容性的时候是非常有用。关联是基于关键字的,因此,我们可以为任何对象增加任意多的关联,每个都使用不同的关键字即可。关联是可以保证被关联的对象在关联对象... 阅读全文
posted @ 2015-08-04 21:54 heyuan123 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 多线程 ,NSTread、NSOpetation、GCDeg :多线程 在iOS 中用的很多 ,比如 网络下载的请求 和 sdwebimage 请求等耗时较多的数据处理,多线程就会派上用场,可以防止界面假死,增强用户体验是一个简单的以任务为导向的多线程模型。目的是 为了不懂操作系统,不懂线程的人使用... 阅读全文
posted @ 2015-08-04 21:37 heyuan123 阅读(343) 评论(0) 推荐(0) 编辑
摘要: KVO 和 KVC 的区别?key value coding ,key value observerKVC 是 路径访问的规范 KVO 观察某个变量的变化过程 它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相... 阅读全文
posted @ 2015-08-04 21:36 heyuan123 阅读(814) 评论(0) 推荐(0) 编辑
摘要: OC 是动态运行时语言是指?oc是一个全动态语言,oc的一切都是基于runtime实现的!1. 传统的面向过程的语言开发,编译器其中最最基础和原始的目标之一就是把一份代码里的函数名称,转化成一个相对内存地址,把调用这个函数的语句转换成一个jmp跳转指令。在程序开始运行时候,调用语句可以正确跳转到对应... 阅读全文
posted @ 2015-08-04 21:35 heyuan123 阅读(646) 评论(0) 推荐(0) 编辑
摘要: CoreData 与 SQLite 比较coreData提供ORM(Object Relationships Mapping)解决方案,能直接生成对应的model对象文件,并且封装了一些底层操作,简化了使用,而sqlite要使用c调用对应的api,并进行一些底层的封装操作,且model对象文件要自己... 阅读全文
posted @ 2015-08-04 21:35 heyuan123 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 单例设计模式:单例的写法:1. GCD 实现单例:@interfaceSingleton:NSObject+(Singleton*)sharedSingleton;@end/***************************************************************... 阅读全文
posted @ 2015-08-04 21:33 heyuan123 阅读(196) 评论(0) 推荐(0) 编辑
摘要: (一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求。列表row个数delegate自定义的delegate(二)观察者模式应用... 阅读全文
posted @ 2015-08-04 21:32 heyuan123 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 一、计步器和计数器- (void)creatStepper{ //步进器 、计数器 //事件驱动型 UIStepper *stepper = [[UIStepper alloc] initWithFrame:CGRectMake(100, 100, 100, 50)]; //设置默认色调 ... 阅读全文
posted @ 2015-08-04 21:28 heyuan123 阅读(241) 评论(0) 推荐(0) 编辑
摘要: *****************************************************************************NSArray******************************************************************... 阅读全文
posted @ 2015-08-04 21:22 heyuan123 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 首先该ViewController 要遵守手势的协议@interface ViewController () { UIImageView *_imageView;}常用的手势/*UITapGestureRecognizer Tap(点击)UIPinchGestureRecognizer Pinch... 阅读全文
posted @ 2015-08-04 21:17 heyuan123 阅读(263) 评论(0) 推荐(0) 编辑