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