func versionCompare(v1:String,v2:String) -> Int {
//判斷合法性
if checkSeparat(vString: v1) == "" || checkSeparat(vString: v2) == ""{
return -1// "只支持 '.''-'/''*'_'作為分隔符"
}
//獲得兩個(gè)數(shù)組
let v1Arr = cutUpNumber(vString: v1) as! [String]
let v2Arr = cutUpNumber(vString: v2) as! [String]
//比較版本號(hào)
return compareNumber(v1Arr: v1Arr, v2Arr: v2Arr)
}
//提取連接符
func checkSeparat(vString:String) -> String {
var separated:String = ""
if vString.contains("."){ separated = "." }
if vString.contains("-"){ separated = "-" }
if vString.contains("/"){ separated = "/" }
if vString.contains("*"){ separated = "*" }
if vString.contains("_"){ separated = "_" }
return separated
}
//提取版本號(hào)
func cutUpNumber(vString:String) -> NSArray {
let separat = checkSeparat(vString: vString)
let b = NSCharacterSet(charactersIn:separat) as CharacterSet
let vStringArr = vString.components(separatedBy: b)
return vStringArr as NSArray
}
//比較版本
func compareNumber(v1Arr:[String],v2Arr:[String]) -> Int {
dprint(v1Arr)
dprint(v2Arr)
for i in 0..<v1Arr.count{
if v2Arr.count <= i{
return -1
}
if Int(v1Arr[i])! != Int(v2Arr[i])! {
if Int(v1Arr[i])! > Int(v2Arr[i])! {
return 1// "v1 > v2"
}else{
return -1// "v1 < v2"
}
}
}
return 0// "v1 == v2"
}
613808bc19af 評(píng)論自版本比較 swift
該文章屬于劉小壯原創(chuàng),轉(zhuǎn)載請(qǐng)注明:劉小壯[http://www.itdecent.cn/u/2de707c93dc4] 本文基于objc-723版本,在Apple Gith...
文章以在TimerViewController中使用計(jì)時(shí)器為例,在VC中聲明一個(gè)NSTimer屬性。 創(chuàng)建NSTimer對(duì)象: timer作為VC的屬性,被VC強(qiáng)引用,創(chuàng)建t...
系列文章: 《37- WKWebView項(xiàng)目實(shí)踐分享(一)- UIWebView回顧介紹》[http://www.itdecent.cn/p/7557456ffc57]《4...
摘要:這篇文章首先介紹runtime原理,包括類(lèi),超類(lèi),元類(lèi),super_class,isa,對(duì)象,方法,SEL,IMP等概念,同時(shí)分別介紹與這些概念有關(guān)的API。接著介紹方...
閑話不多講,先上項(xiàng)目Github傳送門(mén)。 SDVideoCamera傳送門(mén) 前言 又是好久沒(méi)有更新博客了,哈哈哈,由于近來(lái)從公司離職,再加上近來(lái)要結(jié)婚的緣故,所以有大量充足的...
先簡(jiǎn)單說(shuō)說(shuō)我最近的面試經(jīng)歷吧。面試的公司很多,大部分最后都能得到令人滿意的結(jié)果,我將這些體會(huì)記錄下來(lái),面了這么多公司,如果不留下什么,那豈不是太浪費(fèi)了。對(duì)于我來(lái)說(shuō),這也是一次...
喜歡就抬抬小手,關(guān)注一下CC老師! 3年前,任性的因?yàn)樵诒本┢つw過(guò)敏嚴(yán)重,裸辭了薪資待遇和發(fā)展前途不錯(cuò)的開(kāi)發(fā)崗位。當(dāng)然最重要的原因是北京的日日夜夜,我把出租房當(dāng)家。但傷心...
上一篇:flutter_boost學(xué)習(xí)1:iOS運(yùn)行flutter_boost的Sample下一篇:flutter_boost學(xué)習(xí)3:iOSNative添加與flutter交...
按照你的流程來(lái),F(xiàn)lutterBoost接入就報(bào)錯(cuò)了
Flutter 混合開(kāi)發(fā)FlutterBoost iOS 接入流程緊接著上次的FlutterBoost Android版本接入,這次主要講iOS相關(guān)的接入 1.創(chuàng)建Flutter module 這個(gè)步驟前面的Android版本一樣 2.iO...