- 博客(115)
- 资源 (30)
- 收藏
- 关注
翻译 IOS设计模式第八篇之键值观察模式
键值观察模式:在KVO,一个对象可以要求被通知当他的某个特殊的属性被改变了。自己或者另一个对象。如果你感兴趣你可以阅读更多的信息参考: Apple’s KVO Programming Guide.怎么用KVO设计模式呢?正如上面提及到的。这个KVO机制允许一个对象观察一个属性的改变。在你的例子。你可以用KVO来观察你UIImageView图片属性的改变。打开AlbumView添
2014-12-15 10:47:20 601 1
翻译 IOS设计模式第七篇之观察者设计模式
在观察者设计模式里面,一个对象通知其他的对象一些状态的改变。涉及这些对象不需要知道另一个对象---因此鼓励解耦设计模式。这个设计模式经常被用来通知感兴趣的对象当一个属性被改变时候。注意:通常实现需要一个观察者注册另一个对象感兴趣的状态。当状态改变,所有的观察者对象被通知改变了。苹果的远程通知服务就是一个全球性的例子。如果你一直坚持MVC的概念,你需要允许你的model对象和View
2014-12-15 10:03:28 486
翻译 IOS设计模式第六篇之适配器设计模式
那么怎么使用适配器设计模式呢?这个之前提到的水平滚动的视图像这样:为了开始实现他,我们创建一个新的继承与UIView的HorizontalScroller 类。打开头文件添加以下代码:@protocol HorizontalScrollerDelegate // methods declaration goes in here@end这里定义了一个叫做Horizonta
2014-12-15 10:01:51 381
翻译 IOS设计模式第五篇之装饰设计模式的代理设计模式
代理:另一个装饰设计模式,代理,是一个代表或者协调另一个对象的行为机制。例如当你用一个tableView,你必须实现他里面的一个tableView:numberOfRowsInSection:.方法。你不希望tableView知道他有多少行在每个section,因此这个计算每个区有几行的任务交给了UITableView的代理。他允许tableView类是独立的数据显示。当你创建一个
2014-12-13 17:15:38 544
转载 IOS设计模式第二篇之单例设计模式
文章to现在我们的组件已经有组织了。你需要从其他的地方得到数据,你也可以创建一个API类管理数据这个下个设计模式单例里面介绍。这个单例设计模式确保这个类仅仅拥有一个实例,并且为这个实例提供一个全局的访问点。当的题词需要的时候他可以用懒加载创建一个单例。注意:apple用了很多的单例:[NSUserDefaults standardUserDefaults],[UIAppli
2014-12-13 15:55:04 462
转载 IOS设计模式第一篇之MVC
设计模式的好处:我们可以写出容易理解,重用度很高的代码。降低代码的耦合度,符合软件工程的思想。设计模式主要分为三类:创造型的:单例和抽象工厂。结构类型的:MVC Decorator, Adapter, Facade and Composite.等这几种模式行为性的:Observer, Memento, Chain of Responsibility and Command
2014-12-13 15:52:19 527
翻译 设计模式--观察者模式Notification -NotificationCenter KVO
观察者模式:1:什么是Notification?这个要求其实也很容易实现. 每个运行中的application都有一个NSNotificationCenter的成员变量,它的功能就类似公共栏. 对象注册关注某个确定的notification(如果有人捡到一只小狗,就去告诉我). 我们把这些注册对象叫做 observer. 其它的一些对象会给center发送not
2014-12-11 15:58:25 871
原创 ios objective-c之-9:字典,可变字典 (NSDictonary NSMutableDictoray)
iOS字典,可变字典 (NSDictonary NSMutableDictoray)的详解,遍历,排序
2014-12-11 15:20:36 1283
原创 iOS objective-c之-8:数组NSArray 可变数组-(NSMutableArray)
下面的例子以 NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"tom",@"jonery",@"stany", nil];1、获取数组中总共有多少个对象。- (NSUInteger)count; NSLog(@"%d",[array count]); 2、获取数组中下标对应的元素对象.
2014-12-11 15:04:28 1360
转载 iOS objective-c之-7:NSAssert
苹果在foundation.framework中定义了这么一个宏:#define NSAssert(condition, desc, ...)第一个参数为一个条件判断,如果为假,则抛出异常,显示第二个参数所描述的信息。例如NSAssert(2>=4.4, @"2>=4.4 is false!");在debug模式下运行,会终止程序,并抛出如下异常:2
2014-12-11 14:56:36 488
原创 ios objective-c之-6:字符串NSString
iOS NSString 最基本用法1.把字符串写入到制定文件夹中 NSString *myString = @"huweibin is iOS"; NSError *error; NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"tmp/rongtian.txt"];
2014-12-11 12:04:14 642
原创 iOS objective-c之-5:数据类型
镔哥认为数据是程序的基础,了解基本的数据类型是很重要的,很多人可能不屑一顾,但是你自己问一下自己,你到现在能一次性说出oc的数据类型吗?objective-c数据类型objective-c中常用的数据类型基本数据类型int 输出格式符:%i, %d, %o %xfloat 输出格式符:%f,
2014-12-11 11:54:22 575
原创 iOS objective-c之-4:异常捕捉(exception)异常抛出
我们在执行iOS应用程序的过程中,难免会发生一些异常(exception)。这个时候我们应该通过适当地捕捉这些异常的状况,然后处理。iOS已发布应用中对异常信息捕获和处理 iOS开发中我们会遇到程序抛出异常退出的情况,如果是在调试的过程中,异常的信息是一目了然,但是如果是在已经发布的程序中,获取异常的信息有时候是比较困难的。 iOS提供了异常发生的处理API,我们在程
2014-12-11 11:36:08 2958
原创 iOS objective-c之-3:类别Block对象
block 对象的使用是在iOS4以后才支持的特色,严格的来说,block对象属于c语言的特色,因此其调用也和c语言一样,那么为什么ISO会需要block呢?这是因为在iOS应用程序内大量使用target-action的机制,所以可能需要在痛一个类里面编写很多的回调函数。对于某些只使用一次的函数来说,这显然不具有经济效益。那么介绍一下block:一、什么是Blocks Blo
2014-12-11 11:12:04 484
原创 iOS objective-c之-2:类别Category
镔哥发现,很多人做项目开发的时候都不注重使用分类,包括我自己也是一样,一直没有花时间去研究这些基础实用性的方法。其实分类是一个很有用的方法,它可让我们轻松解决功能使用上的问题。那么,如果要字啊一个类class中加上一个新方法时,通常通过继承的方式来加入新的方法。然而有些时候,这样非很好的方式。尤其是需要在既有的类中加入新的功能的时候。因此objective-c特别提供了一个名为category
2014-12-11 10:49:02 546
原创 iOS Objective-C之-1:协议Protocol
最近镔哥在巩固基础知识,下面的篇章都是基础实用的内容:Objective-C 与java一样是单一继乘的,不过java 的interface可以达到类似多重继承的效果,那么objective-c?相对java 的interface,oc使用的是protocol,来实现这样的效果。[IOS]Protocol协议的用法:一、说明 两个类进行通讯,用协议就比较方便。
2014-12-11 10:39:46 495
原创 IOS基础:深入理解Objective-c中@class的含义
objective-c中,当一个类使用到另一个类时,并且在类的头文件中需要创建被引用的指针时, 如下面代码: A.h文件#import "B.h" @interface A : NSObject { B *b; } @end 为了简单起见:A类是引用类,B类是被引用类,这里先不考虑A类的实现文件。
2014-12-10 16:11:30 415
原创 UIView自动调整控件(一个很方便使用的工具类吧)
仿照其他类重写的工具类,我们在工程中,或多或少的要修改控件的坐标-宽度-高度,于是,经常性的见到大家self.view.frame.origin.x, self.view.frame.size.width
2014-12-10 11:21:21 1181
原创 ios 实现获取当前地理位置
镔哥主要写几个步骤,希望能帮到大家:前提导入:CoreLocation.farme#import 代理{ //实现获取当前地理位置:第一步: //这两个变量,locationManaager用于获取位置,checkinLocation用于保存获取到的位置信息 NSString * curre
2014-12-06 16:59:05 1777
原创 iPhone开发 NSXMLParser解析xml文件
xml文件如下:Question.xml,放在Resource文件目录中 你的学习成绩如何? 主要科目成绩较好 对自己的学习成绩一定要如实回答。 大概可在中等偏上水平 如果成绩不好则应说明理由。 成绩特好,在我们班老数第一 应表现出对学习的态度是认真的。 IVPaserXMLSingl
2014-12-04 14:54:45 536
转载 iOS tableview 实现简单的搜索功能
一、先用xcode创建好工程通过xib文件来初始化视图控制器二、编写代码1、先为NSDictionary创建一个分类 实现字典的深拷贝.h文件#import @interface NSDictionary (MutableDeepCopy)- (NSMutableDictionary *
2014-12-03 18:19:05 586
原创 iOS开发 - 如何获取设备的总容量和可用容量 网络运营商 3g/wifi判断 手机型号
详细介绍如何获取设备的总容量和可用容量 网络运营商 3g/wifi判断 手机型号。
2014-12-03 17:56:36 2867
原创 iOS POST请求 有中文的时候
iOS POST请求 有中文的时候,为什么请求不成功的解决办法。Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" UserInfo=0x14ed24c0 {NSUnderlyingError=0x
2014-12-03 17:54:05 1890 1
原创 iOS数据库操作fmdb1: FMDB数据库使用
数据库文件要兼容iPhone4和iPhone5需要放在Document或Library目录中,先判断Document/Library中数据库文件(一般是.sqlite后缀)是否存在,如果不存在则从工程(bundle)中把数据库文件拷贝到Document中或Library中。
2014-12-02 16:40:34 783
原创 tableView视图列表3: 把解析到的XML数据显示在TableView上
1,首先获取文件目录 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0];
2014-12-02 14:42:59 697
原创 tableView视图列表2: tableView想解析
镔哥专门列出一些方法,这是最基本的tableview方法,虽然简单,但是视图列表是最基础的程序开发,如果要深入了解,你会发现它的博大精深,以后的篇章将涉及到各种的交互,数据传输,显示数据的内容,这才是最深刻的东西,但是现在还是要从基础开始学习。 -、建立 UITableView DataTable = [[UITableView alloc] initWithFrame
2014-12-02 14:20:33 461
原创 tableView视图列表1: titleForHeaderInSection
这几个方法都是Data Source Methods,就是数据来源的方法。换句话说就是在这里面你得确定数据的来源。主要涉及的有这几个方法:- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;上面这个方法就是让tableView知道他有几个section,默认为1,当你的数据源有两个块时,就是retu
2014-12-02 14:12:56 1166
转载 AFNetworking2.0源码解析<一>
最近看AFNetworking2的源码,学习这个知名网络框架的实现,顺便梳理写下文章。AFNetworking的代码还在不断更新中,我看的是AFNetworking2.3.1。 本篇先看看AFURLConnectionOperation,AFURLConnectionOperation继承自NSOperation,是一个封装好的任务单元,在这里构建了NSURLConnection,
2014-12-01 09:20:57 480
原创 iOS有关修改:bundle name, bundle display name, bundle identifier不能修改问题
我们,做项目经常要到网上下载一些Demo,但是有时候你或许会碰到,不能打开,也不能修改到问题:当你创建一个project时,会要求你输入product name & company identifier,这两个property的值should和你在apple developer member center的“Provisioning Portal”的“App IDs"里创建的bundle id
2014-11-27 11:02:01 3588
原创 iOS基础8:自定义MyData/自定义SQLite用于网络判断,版本判断,图片缓存处理,下载或者上传的GET或POST请求,加密手段,.数据解析
iOS基础8:自定义MyData/自定义SQLite用于网络判断,版本判断,图片缓存处理,下载或者上传的GET或POST请求,加密手段,.数据解析
2014-11-26 19:07:05 1887 1
网站 测试用的 流量精灵
2009-07-03
CPU检测器工嫩用来检测CPU的功能
2009-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人