人魔七七 关注移动端领域
为什么要写这篇文章呢?之前写过一篇,因为手机打字不是很方便,还有之前同事用6splus 定下午茶时候,我滑动列表时候竟然误以为是安卓系统的手机。 tableview 流畅度可以用fps来测试,到60帧说明你优化tableView 已经很有经验了。
OK ,为什么会写这篇文章呢?因为最近接触老一些面试者,总感觉他们认为做应用只是纯粹的搭个界面,殊不知不仅仅如此。 我们从哪几个方面来测试应用的性能呢? 这里,因为没用真机来调试所以不会出现fps选项。
LazyCode 是什么? LazyCode 一个懒人用的代码类库,包括的模块:网络请求,数据存储,UIKit ,Foundation的一些类目 PHNetWorkClient 功能 1:发送GET PSOT Delete PUT 请求 2:使用的URL缓存 可以设置缓存过期时间 3:上传文件,图片等带有进度 4:下载文件,图片等带有进度,可以断点续传 5:控制并发数量根据当前网络。
资料均来自互联网,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 人魔七七:http://www.cnblogs.com/qiqibo/ 一个http请求只要由三部分组成:请求行,请求头,请求主体。
资料均来自互联网,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 人魔七七:http://www.cnblogs.com/qiqibo/ 对于我们IOS开发者来说,我们最重要的是访问网络的资源,数据都是服务器提供给我们的。
命令行设计模式: 命令设计模式将一个请求或行动作封装为对象。这个封装请求比原始的请求要灵活并且可以在对象之前被传递,存储,动态修改或者放进队列里面。苹果 苹果公司实现这种模式使用Target-Action机制和Invocation。
本篇文章来自于互联网资料翻译 UIScrollView是在IOS最有用的控件之一。他是一个来展现超过一个屏幕的内容的很好的方式。下面有很多的技巧来使用他。 这篇文章就是关于UIScrollView的,深入浅出,看看我们接下来学习的内容: 1:怎么用UIScrollView来展一个比较大的图片 ...
版权声明:原创作品,谢绝转载!否则将追究法律责任。 备忘录模式捕获和具体化对象的内部状态。换句话说,它可以节省你的东西后来,这种外部状态可以恢复在不违反封装; 也就是说,私人数据是私有的。 怎么用备忘录设计模式 在Viewcontroller的实现文件里添加下面方法: - (void)sa...
版权声明:原创作品,谢绝转载!否则将追究法律责任。 键值观察模式: 在KVO,一个对象可以要求被通知当他的某个特殊的属性被改变了。自己或者另一个对象。如果你感兴趣你可以阅读更多的信息参考: Apple’s KVO Programming Guide. 怎么用KVO设计模式呢? 正如上面提及到的。
版权声明:原创作品,谢绝转载!否则将追究法律责任。 观察者设计模式 在观察者设计模式里面,一个对象通知其他的对象一些状态的改变。涉及这些对象不需要知道另一个对象---因此鼓励解耦设计模式。这个设计模式经常被用来通知感兴趣的对象当一个属性被改变时候。
版权声明:原创作品,谢绝转载!否则将追究法律责任。 那么怎么使用适配器设计模式呢? 这个之前提到的水平滚动的视图像这样: 为了开始实现他,我们创建一个新的继承与UIView的HorizontalScroller 类。
版权声明:原创作品,谢绝转载!否则将追究法律责任。 很多对象需要跟踪信息为了执行他们的任务。一些对象设计模型一个或者多个值。例如NSNumber 类用来保存一个值或者自定义的类有一些属性。有一些对象不在一般的范围内。
版权声明:原创作品,谢绝转载!否则将追究法律责任。 设置线程堆栈的大小: 系统为每个你新创建的线程,都会为你的进程空间分配一定的内存作为该线程的堆栈。这里面有我们局部变量声明我们的方法就是一个堆栈。
版权声明:原创作品,谢绝转载!否则将追究法律责任。 之前也说过线程是消耗资源的。多线程会占用你应用程序(和系统的)的内存使用和性能方面的资源。我们创建一个线程后可以对他的一些部分进行配置例如可以对辅助线程分配堆空间的大小。
版权声明:原创作品,谢绝转载!否则将追究法律责任。 我们开发的应用基本上都是多线程的,几乎没有不是多线程的应用发布在appstore。首先我们的应用启动会默认有一个主线程,你一直在里面执行很多操作如果操作执行的时间很长,用户会马上关掉你的应用这不是你想看到的。
版权声明:原创作品,谢绝转载!否则将追究法律责任。 代理: 另一个装饰设计模式,代理,是一个代表或者协调另一个对象的行为机制。例如当你用一个tableView,你必须实现他里面的一个tableView:numberOfRowsInSection:.方法。
版权声明:原创作品,谢绝转载!否则将追究法律责任。 对象发送和接受消息 尽管有不同的方法来发送消息在对象之间,到目前位置是想中括号那样[obj doSomeThing];左边是接受消息的接收器,右边是接收器调用的方法,换句话说obj发送doSomeThing消息。
装饰设计模式 装饰设计模式动态的添加行为和责任向一个对象而不修改他的任何代码。他是你子类化修改类的行为用通过另一个对象的包装的代替方法。 在Objective-c里面有很多这种设计模式的实现,像category和delegation。
外观设计模式: 这个外观设计模式提供了一个单独的接口给复杂的子系统。而不是暴露用户的一组类和API,你仅仅暴露一个简单的同一的API。 下面的图片解释这个概念: API的用户根本不知道后面系统的复杂性。
设计模式的好处:我们可以写出容易理解,重用度很高的代码。降低代码的耦合度,符合软件工程的思想。 设计模式主要分为三类:创造型的:单例和抽象工厂。结构类型的: MVC Decorator, Adapter, Facade and Composite.等这几种模式 行为性的:Observer, Memento, Chain of Responsibility and Command. 讲讲第一个设计模式MVC,我们的iOS应用基本都是基于MVC的。
现在我们的组件已经有组织了。你需要从其他的地方得到数据,你也可以创建一个API类管理数据这个下个设计模式单例里面介绍。 这个单例设计模式确保这个类仅仅拥有一个实例,并且为这个实例提供一个全局的访问点。
版权声明:原创作品,谢绝转载!否则将追究法律责任。 在现实生活中,当处理某一情况的时候人们往往遵循严格的程序。执法人员他们在打官司的收集证据和询问的时候一定要遵守协议。 在面向对象的语言中,最重要的是一个对象需要定义一些行为在某种情况下。
版权声明:原创作品,谢绝转载!否则将追究法律责任。 尽管Objective-c是一个面向对象的语言,是C语言的超集,这意味着你可以用任何标准的C标量(非对象)像int,float,和char在Objective-c里面。
In iOS 7 and later, if you ask for the MAC address of an iOS device, the system returns the value 02:00:00:00:00:00.
通过类别来给已经存在的类添加方法来实现自定义类 如果你需要添加一个方法给一个已经存在的类,也许能增加新的功能使你更容易来在我们的应用里处理一些事情。最简单的方法是用类别。 这个语法有点想类的接口描述但是他是没有继承类的,相反的要指定类别的名字在括号里面。
类是对象的蓝图。 一个类是描述了对象的行为和属性。例如NSString的一个实例。他的类提供了各种的方法来转化和表示他的内部字符的表示。 每个类的实例都包含了这个类的属性和行为。例如每个NSString类的实例都用相同的方法表示。
类方法和实例方法 实例方法是— 类开头是+ 实例方法是用实例对象访问,类方法的对象是类而不是实例,通常创建对象或者工具类。 在实例方法里,根据继承原理发送消息给self和super其实都是发送给self 在类方法里面self是其他的类的类方法,在类方法中给self发送消息只能发类...
strong和weak的区别 strong表示保留它指向的堆上的内存区域不再指向这块区域了。 也就是说我强力指向了一个区域,我们不再指向它的条件只有我们指向nil或者我自己也不在内存上,没有人strong指向我了,weak表示如果还没有人指向它了,它就会被清除内存,同时被指向nil,因为我不能读取不存在的东西。
属性:为什么要有属性 。 首先是因为实例变量的安全性和继承能力,如果我们允许被继承,子类要动这些实例变量,我们需要能够参与进来,如果子类设置了某个值,我们需要检查范围,保证不会破坏父类,保证不会破坏父类,所以这是要有属性的首要原因。
http://jingyan.baidu.com/article/9113f81bc36ba12b3314c77f.html
http://www.cnblogs.com/xiaodao/archive/2012/07/04/2576292.html
http://segmentfault.com/q/1010000000150843
http://www.2cto.com/kf/201306/219452.html
http://blog.csdn.net/zhuqilin0/article/details/6653532
http://blog.csdn.net/aminoph/article/details/8559274 http://bbs.pcbeta.com/viewthread-1130227-1-1.html VM的激活码9.
http://www.cnblogs.com/85538649/archive/2012/05/21/2511308.html
http://blog.csdn.net/lovenjoe/article/details/8766726
http://www.sdifenzhou.com/s4.html
6、通讯录列表获取差异 自iOS6.0后获取通讯录列表需要询问用户,经过用户同意后才可以获取通讯录用户列表。而且ABAddressBookRef的初始化工作也由ABAddressBookCreate函数转变为ABAddressBookCreateWithOptions函数。
http://www.cocoachina.com/cms/plus/view.php?aid=2492UITablView 多选通过slider的值控制UITableIView 两个比例控制 http://www.
http://blog.csdn.net/qingsi00/article/details/8467461
从IOS角度看http url是服务器上资源的一个位置,作为这个规则一个单独的资源可能和很多url有关系,但是一个url不能关联很多资源。但是也有例外的情况,例如当hostname关联一个不稳定的host.在IOS中我们用NSUrl来管理url. 一个URL有5个代表性的组成部分如上图 Protocol:这个协议规定具体哪个应用层协议和服务器交互。
一:http的由来: OSI模型把网络通信分成七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,对于开发网络应用人员来说,一般把网络分成五层,这样比较容易理解。这五层为:物理层、数据链路层、网络层、传输层和应用层(最顶层),下面是一张网络分层的图片(来源于网络): 网络中的计算机互相通信就是实现了层与层之间的通信,要实现层与层之间的通信,则各层都要遵守规则,这样才能完成更好的通信, 我们就把它们之间遵守的规则就叫个“协议”,然而网络上的五层之间遵守的协议不一样,每层都有各自的协议。
http://blog.csdn.net/iamfreedom2011/article/details/8752914
http://blog.csdn.net/tangren03/article/details/7794226
http://www.2cto.com/kf/yidong/iphone/
http://blog.csdn.net/kmyhy/article/category/706488/2
成员变量本类使用的用私有的,类目可以用属性。属性简化操作(属性里面的一些默认操作)controller只是做管理View的操作用。至于之间的切换其实是View之间的切换(和模态试图不一样)controller初始化有两种方法,一个是init 一个是用nib文件初始化的。
http://www.docin.com/p-443803801.html
http://blog.csdn.net/nong1209/article/details/7847346