摘要:这个包中定义了地址查询,地理反编码,路径查询,本地查询等地图服务的接口。DigitalMapServce各种地图服务(地址查询,路径)的实现。开发人员可以选择使用地图服务的类型,如使用Google 地图或是CloudMade地图服务,在中国的用户还可以选择使用MapAbc 地图服务。IDirectionQuery路径查询接口定义.IGeocoder地址查询接口定义.IReverseGeocoder根据经纬度查询地名的地理逆编码查询接口定义.IIpaddressGeocoder根据IP地址查询地名的查询接口定义.IGeocodingListener地址查询服务回调函数接口.IReverseGeo
阅读全文
摘要:苹果App Store 的应用总下载量近日刚突破 250 亿,并继续上升中。毫无疑问,iOS 开发一直是热门话题,这是一个制造了数亿美元的产业。一个成功的应用,需要良好的规划。在理解应用开发流程中,绘制线框图是规划阶段重要一环,也用于确定 可用性可能存有的问题及技术潜在问题。素描和原型,能让你更好的理解要你的应用程序。如果不是自己的项目,是给客户做的,那也方便和客户解释沟通。如果你是一位设计师或开发人员/程序员,准备步入iOS开发,那这里收集了你需要的工具。本文并不涵盖iOS教程,只偏重线框图工具和视图资源。1. Sketch Pad 素描垫就我个人而言,我更喜欢用纸笔来画图。可以很快添加、修
阅读全文
摘要:该包定义了在线和离线地图对象相关的一些类.Map Type定义各种地图类型,如Google地图,Google卫星图,Bing 中国地图等。MapConfiguration定义地图的一些配置信息,如是否使用缓存,同时启动最大工作线程数目等.RasterMap显示在线地图和离线地图一个关键类.它是地图开发包最核心的一个类,实现地图平移,缩放,路径,查询等各种功能。MapTileAbstractReader一个抽象类定义了如何取得地图图片的方法.从它可以派生出对离线地图,矢量地图以及在线从地图服务器上读取地图图片以用于显示地图。MapTileDownloader实现从服务器(如Google Map,
阅读全文
摘要:详解Objective-C可变参数函数定义是本文有搜介绍的内容,在iPhone中涉及数据库的操作的时候,在更新操作中要传递可变参数,这些可变参数其实就是数据库语句,这样在数据库涉及的过程中,不利于数据和业务的分离,对此,我们可以对其提供的函数再包装。首先来看看Objective-C中对可变参数函数的定义、调用,eg:Objective-C.h文件@interfacesqlHelper:NSObject { } -(int)executeInsertWithSql:(NSString*)statement,...; @end .m文件 -(int)executeInsertWithSql:(NS
阅读全文
摘要:1. 字符串常量NSString *s = @"test";NSLog(@"s:%lx",[s retainCount]); //ffffffffffffffff(即UINT_MAX ( Maximum value an `unsigned int'))因为"test"为字符串常量,系统不会收回,也不会对其作引用计数,即使我们对s如何retain或release。2. stringWithFormatNSString *s = [NSString stringWithFormat:@"%s", "
阅读全文
摘要:今天在园子里看到了一篇牛文“Objective-C 2.0 with Cocoa Foundation--- 5,Class类型,选择器Selector以及函数指针”,讲得十分精彩,忍不住把它的代码加上注释整理于此,以便日后查看。个人体会:obj-C中的“Class类型变量”比c#中的Object基类还要灵活,可以用它生成任何类型的实例(但是它又不是NSObject)。而选择器SEL与函数指针IMP,如果非要跟c#扯上关系的话,这二个结合起来,就点类似c#中的反射+委托,可以根据一个方法名称字符串,直接调用方法。"牛"的基类 Cattle.h#import <Foun
阅读全文
摘要:obj-c本质就是"改进过的c语言",大家都知道c语言是没有垃圾回收(GC)机制的(注:虽然obj-c2.0后来增加了GC功能,但是在iphone上不能用,因此对于iOS平台的程序员来讲,这个几乎没啥用),所以在obj-c中写程序时,对于资源的释放得由开发人员手动处理,相对要费心一些。引用计数这是一种古老但有效的内存管理方式。每个对象(特指:类的实例)内部都有一个retainCount的引用计数,对象刚被创建时,retainCount为1,可以手动调用retain方法使retainCount+1,同样也可以手动调用release方法使retainCount-1,调用rele
阅读全文
摘要:在cocoa application的应用中,我们有时会使用Core Foundation(CF),我们经常会在Objective-C和CF之间进行转化。系统使用arc的状态下,编译器不能自动管理CF的内存,这时候你必须使用CFRetain和CFRelease来进行CF的内存的管理。具体的CF内存管理规则见:Memory Management Programming Guide for Core Foundation在OC和FC之间进行转化的时候,主要是对象的归属问题。共有两种方式:1、使用宏,可以标识归属者从OC到CF,还是从CF到OC。NS_INLINE CFTypeRef CFBridg
阅读全文
摘要:There are a number of data types in the Core Foundation framework and the Foundation framework that can be used interchangeably. This capability, calledtoll-free bridging, means that you can use the same data type as the parameter to a Core Foundation function call or as the receiver of an Objective
阅读全文
摘要:There is a really great book more than worth reading byJoshua BlochcalledEffective Java, Programming Language Guide(Pearson Education Inc, Addison-Wesley) which states in 57 items rules to good Java programming.Rumors say that the inventors of Java where inspired by some ideas of early Objective-C a
阅读全文
摘要:NSXMLParser 实现的是sax方法解析xml文件。dom实现的原理是把整个xml文档一次性读出,放在一个树型结构里。在需要的时候,查找特定节点,然后对节点进行读或写。他的主要优势是实现简单,读写平衡;缺点是比较占内存,因为他要把整个xml文档都读入内存,文件越大,这种缺点就越明显。sax的实现方法和dom不同。他只在xml文档中查找特定条件的内容,并且只提取需要的内容。这样做占用内存小,灵活,正好满足我们的需求。他的缺点就是写,有些资料介绍了写入的方法,但是我感觉这对本例没有必要。运行NSXMLParser涉及设置、运行和响应结果。1)启动NSXMLParser要使用NSXMLPars
阅读全文
摘要:Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iOS下应用分为两种不同的Notification种类,本地和远程。本地的Notification由iOS下NotificationManager统一管理,只需要将封装好的本地Notification对象加入到系统Notification管理机制队列中,系统会在指定的时间激发将本地Notification,应用只需设计好处理Notification的方法就完成了整个Notification流程了。本地Notification所使用的对象是UI
阅读全文
摘要:KVC运用了一个isa-swizzling技术。isa-swizzling就是类型混合指针机制。KVC主要通过isa- swizzling,来实现其内部查找定位的。isa指针,如其名称所指,(就是is a kind of的意思),指向维护分发表的对象的类。该分发表实际上包含了指向实现类中的方法的指针,和其它数据。比如说如下的一行KVC的代码:[site setValue:@"sitename" forKey:@"name"];就会被编译器处理成:SEL sel = sel_get_uid ("setValue:forKey:");IM
阅读全文
摘要:iPhone开发之UISearchBar学习是本文要学习的内容,主要介绍了UISearchBar的使用,不多说,我们先来看详细内容。关于UISearchBar的一些问题。1、修改UISearchBar的背景颜色UISearchBar是由两个subView组成的,一个是UISearchBarBackGround,另一个是UITextField. 要IB中没有直接操作背景的属性。方法是直接将 UISearchBarBackGround移去seachBar=[[UISearchBaralloc]init]; seachBar.backgroundColor=[UIColorclearColor];
阅读全文
摘要:之前很多网友对我翻译的教程中的Property的使用感到有些迷惑不解,搞不清楚什么时候要release,什么时候要self.xxx = nil;同时对于Objective-c的内存管理以及cocos2d的内存管理规则不够清楚。本文主要讲解objc里面@property,它是什么,它有什么用,atomic,nonatomic,readonly,readwrite,assign,retain,copy,getter,setter这些关键字有什么用,什么时候使用它们。至于Objc的内存管理和cocos2d的内存管理部分,接下来,我会翻译Ray的3篇教程,那里面再和大家详细讨论。今天我们的主要任务是.
阅读全文
摘要:一:确认网络环境3G/WIFI1. 添加源文件和framework开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息。如果没有处理它们,是不会通过Apple的审查的。Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法。要在应用程序程序中使用Reachability,首先要完成如下两部:1.1. 添加源文件:在你的程序中使用Reachability 只须将该例程中的 Reachability.h 和 Reachability.m 拷贝到你的工程中。如下图: 1.2.添加framework:将SystemConfiguration.framework 添
阅读全文
摘要:先举一个例子:假如"我"的本职工作之一是“接电话”,但"我"发现太忙了或来电太杂了,于是我聘请一位"秘书"分担我“接电话”的工作,如果电话是老板打来的,就让“秘书”将电话转接给“我”。。。那么,“我”就是A Object.“秘书”就是"我"的“Delegate”。写成代码就是 -- [我 setDelegate:秘书];delegate的概念出现与mvc(model-view-controller),protocol,单线继承 密切相关The main value of delegation is that it
阅读全文