本人工作閒暇,在自己專案中發現判斷版本更新這一塊做的不夠嚴謹,就自己把他重新寫了下,期間有遇到的一些問題,所以寫下這個希望能幫到有需要的人
步入正題 : )
func checkversion(handlevc: uiviewcontroller, compeletion: ((isnewest: bool) -> void)?)
guard let versioninfo = object["results"].arrayvalue.first else
// currentversionstring == 當前手機應用的版本號
let currentversionstring = nsbundle.mainbundle().infodictionary["cfbundleshortversionstring"] as? string
let storeversionstring = versioninfo["version"]
if currentversionstring != storeversionstring
compeletion?(isnewest: true)
}}
如果出現上述情況,就要把版本號的每一位做一下判斷,也就是說吧版本號,以 「.」 的位置分隔成陣列,逐位做對比了.
func checkversion(handlevc: uiviewcontroller, compeletion: ((isnewest: bool) -> void)?)
guard let versioninfo = object["results"].arrayvalue.first else
let currentversionstring = nsbundle.mainbundle().infodictionary["cfbundleshortversionstring"] as? string
let currentversionstrings = currentversionstring.componentsseparatedbystring(".")
let storeversionstrings = versioninfo["version"].stringvalue.componentsseparatedbystring(".")
guard storeversionstrings.count == currentversionstrings.count else
}compeletion?(isnewest: true)
}}}
func checkversion(handlevc: uiviewcontroller, compeletion: ((isnewest: bool) -> void)?)
guard let versioninfo = object["results"].arrayvalue.first else
// currentversionstring == 當前手機應用的版本號
let currentversionstring = nsbundle.mainbundle().infodictionary["cfbundleshortversionstring"] as? string
let currentversionstrings = currentversionstring.componentsseparatedbystring(".")
let storeversionstrings = versioninfo["version"].stringvalue.componentsseparatedbystring(".")
guard storeversionstrings.count == currentversionstrings.count else else
if storeversionstrings[index].tofloat() > currentversionstrings[index].tofloat()
}compeletion?(isnewest: true)
}}}
這樣就可以避免剛才的問題了!
個人閒暇,重做了這一塊,就敘述下寫著塊前後遇到的問題.
以上是最終**,上述中有用到 swiftjson 框架中的解析,如果有優化求指點~!
關於在swift中怎麼使用MJExtension
1.對於模型中還有其他模型類屬性的情況 只要在屬性的冒號之後把對應的模型類寫上即可 2.對於屬性中有id為名的屬性,在該模型的類實現以下 override static func mj replacedkeyfrompropertyname anyhashable any 3.對於模型中含有 陣列 ...
shell筆記 與判斷有關的那些引數
表示判斷檔案是否存在 比如 f tmp flags echo 1 tmp flags表示 當 tmp flags檔案不存在時,建立該檔案並寫如內容為文字1 n 表示 判斷字串非空,z 則相反,比如 if z then version 1.0.0 fi表示當version這個變數不存在或者值為空時,將...
Swift 五 Swift中的那些預設值
在swift語言中,有很多預設值,這裡將常用的總結,歡迎補充。在函式 方法 中,形參預設是常量,不可以在函式 方法 內部進行修改,這主要是為了防止誤操作,防止在呼叫函式 方法 時改變了實參的值,所以使用常量,如果想在函式內部對實參進行修改,可以使用 var關鍵字進行標識,但是這並沒有結束,在函式 方...