暑期專案開發實訓 Day8

2021-08-03 08:44:03 字數 2260 閱讀 3705

今天的工作相當的艱苦卓絕,因此過了零點才開始寫記錄。

我計畫周一周二提交第三個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 完成了共用體的學習,編寫了有關共用體宣告,初始化的函式 今日開發中出現的問...