今天的工作相當的艱苦卓絕,因此過了零點才開始寫記錄。
我計畫周一周二提交第三個demo,週三周四提交第四個demo,然後周五週六閉門練習演算法,週日晚上去南京大學報道。
言歸正傳,第三個demo是my location,關於gps定位的。
工作里程碑如下:
01 gps coordinates
02 tagging locations
03 core data
04 locations tab
05 map view
06 photo picker
簡單過目一下,會發現這個demo是需要繫結gps服務的。
事實上,swift中有3種方式實現location定位,一種是wi-fi,一種我忘了,最後一種就是gps了。
對於沒有gps模組的裝置,就只有兩種定位方式了,比如老舊的ipod。
這一demo中我們首先使用了ios sdk : corelocation
可以拍照採集,可以顯示地圖。
01部分我們完成了基本的定位工作,記得應該是精確到5公尺以內,但是定位總是在美國,也是很奇葩。
tap按鈕開啟定位,定位過程中,經緯度的label會不斷更新,直到誤差小於閾值。
我們也設定了time out。 如果定位時間過長還是達不到閾值,那就超時強停。
如果定位過程中出現故障,也會報error。可以說互動資訊是很齊備的。
// 更新 lables
func updatelabels() else if performingreversegeocoding else if lastgeocodingerror != nil else
} else else
} else if !cllocationmanager.locationservicesenabled() else if updatinglocation else
messagelabel.text = statusmessage
}}
02部分開始前,指導書講了關於類的繼承、類與物件這些基礎知識,以及重寫超類方法的問題。
注意到,在table view delegate和datasource方法中,通常不需要call super(ios api文件會告訴你為什麼)。
然後講了一些cast的知識。
注意到,as有3種轉化方式: 普通, 感嘆號, 問號。
as as! as?
as? 允許nil的存在,會跳過**塊。 as! 某種意義上相當於向下轉型。。
xcode會提示你應該用哪種,但是十有**是 as!
然後又介紹了一些關於結構體 struts的知識。
之前我理解錯了,以為swift的類不是傳統物件導向的類,而是類似於c++結構體的東西,
其實swift既有類又有結構體,struts are more lightweight than classes.
最後貼一下今天的幾點**吧,指導書完成進度: 112/279。才40%。。。。。
// string(from)
func string(from placemark: clplacemark) -> string
if let s = placemark.thoroughfare
if let s = placemark.locality
if let s = placemark.administrativearea
if let s = placemark.postalcode
if let s = placemark.country
return text
}
// ask dateformatter 將data轉換為string
func format(date: date) -> string
getlocation算是今天的核心**了:
// getlocation()
@ibaction func getlocation()
if authstatus == .denied || authstatus == .restricted
// startlocationmanager()
if updatinglocation else
updatelabels()
configuregetbutton()
}
暑期專案開發實訓 Day1
2017年6月26日 周一 晴轉多雲 今天是軟體學院暑期專案實訓開營第一天。上午8點30分和9點40分,我院18個學生專案組分兩批,在辦公樓二樓報告廳聆聽了 初識華為軟體開發雲 講座。途中9點30分,兩批暑期實訓人員集體在教學樓階梯前合影留念。此次講座由企業人士張雄民先生擔綱,詳盡介紹了華為軟體開發...
蘇嵌暑期實訓 day3
姓名 祝俊寶 日期 2018.07.11 今日學習任務 學習指標 1 指標定義 2 指標運算 3 指標使用步驟 4 指標陣列 等等今日任務完成情況 基本 練習均完成,但指標概念有點抽象,有幾個稍複雜的習題還未解決,如字串逆序輸 出,字元排序等。今日開發中遇到的問題彙總 在對指標的使用過程中,常出現野...
蘇嵌暑期實訓 day5
姓名 祝俊寶 日期 2018.07.13 今日學習任務1 結構體 2 共用體 3 編寫學生資訊系統 今日任務完成情況編寫了1 完成了結構體的學習,編寫了有關結構體的定義,宣告,初始化的函式 2 完成了有關結構體長度的學習 3 完成了共用體的學習,編寫了有關共用體宣告,初始化的函式 今日開發中出現的問...