111 - Visualizing Information Geographically with MapKit WWDC2010曾有过关于如何使用苹果iOS的MapKit来开发软件,本期讲座简单回顾了MapKit。地图软件的主要用途主要有:可以了解和查询当地的有关信息如商店、旅馆、观光景点等;新的方式来表述信息;用地图跟踪或指路。所有这些都是利用了苹果地图的API。地图的基本功能是:放大或缩小看地图;加地图注释;确定位置;在地图之上加不同的UI。 本讲座进一步回顾以下内容,并介绍iOS5上的新功能: - 地图的各种表示方式:可以有一般街区表示,卫星图,卫星加街区三种方式,采用MKMapView来展示地图,地图通过MKMapViewDelegate与App交流信息或增加功能。表示地图点、大小和区域用struct数据类型表述,如MKMapPoint, MKMapSize, MKMapRect
- 地图上的注解(Anotations),如加小指针和标题等。加指针是通过MKMapViewDelegate的各种API在地图上实现的。指针可被用户选择,指针可显示大标题,小标题,和详细箭头(Callout accessories)。
- 用户的地点(Locations),用来显示用户当前的位置。
- 跟踪地点不同方式:得到用户同意之后,可以在地图上显示用户的移动轨迹,这在GPS软件中十分有用。跟踪有两种模式:MKUserTrackingModeFollow, MKUserTrakingModeFollowWithHeading,后后一种显示移动的方向。
- 如何在地图上加图(Overlays),通过MKOverlayView来加的各种图像,如简单的圆形或路线等。
- 地图地点的标码(Geocoding),地图的地点可以通过经纬度两个数字表示确切地点,也可以通过街名表示,这两种方式都十分重要,因此苹果提供两者之间的转换。过去的MKReverseGeocoder将会淘汰,CLGeocoder将用来转换。由经纬度得到的地点通过CLPlacemark来详细表示,如街名,地区,城市,省,国家,邮编等。
112 - Writing Easy-To-Change Code 本讲座概要介绍如何写更好的程序:容易读,学,理解,维护和修改。苹果的iOS就是这样一个过程,2007年iOS推出,迄今已经有30多次正式更新,苹果十分注重这些方面,功能不断增加和更新。苹果也希望软件开发者除了注重推出产品之外,注重编码的质量是软件开发者第二个重要目标。 一般的变化是:修补漏洞或问题;增加新的功能;改进现有的功能;修改别人的程序和修改自己过去六个月前的程序。苹果推荐遵循Mac和iOS的规定和编程方式,具体大概介绍了几个方面,因为这些都是比较概括性的,这里不必详细列举了。最后提出十点: - 写逻辑清晰的程序
- 通过问题进一步查出编码问题
- 不要急于初始化,采用用时初始化的方式
- 重新设计而不是重写程序
- 慎重采用通知(notifications)方式,不要什么都用通知
- 新的编码易于修改
- 优化最慢和最老的编码
- 减少依赖关系
- 不要混合不同的东西
- 不要写很难懂的编码
我的RSS |