func versionCompare(v1:String,v2:String) -> Int {
//判断合法性
if checkSeparat(vString: v1) == "" || checkSeparat(vString: v2) == ""{
return -1// "只支持 '.''-'/''*'_'作为分隔符"
}
//获得两个数组
let v1Arr = cutUpNumber(vString: v1) as! [String]
let v2Arr = cutUpNumber(vString: v2) as! [String]
//比较版本号
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
}
//提取版本号
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"
}
该文章属于刘小壮原创,转载请注明:刘小壮[https://www.jianshu.com/u/2de707c93dc4] 本文基于objc-723版本,在Apple Gith...
文章以在TimerViewController中使用计时器为例,在VC中声明一个NSTimer属性。 创建NSTimer对象: timer作为VC的属性,被VC强引用,创建t...
系列文章: 《37- WKWebView项目实践分享(一)- UIWebView回顾介绍》[https://www.jianshu.com/p/7557456ffc57]《4...
摘要:这篇文章首先介绍runtime原理,包括类,超类,元类,super_class,isa,对象,方法,SEL,IMP等概念,同时分别介绍与这些概念有关的API。接着介绍方...
闲话不多讲,先上项目Github传送门。 SDVideoCamera传送门 前言 又是好久没有更新博客了,哈哈哈,由于近来从公司离职,再加上近来要结婚的缘故,所以有大量充足的...
先简单说说我最近的面试经历吧。面试的公司很多,大部分最后都能得到令人满意的结果,我将这些体会记录下来,面了这么多公司,如果不留下什么,那岂不是太浪费了。对于我来说,这也是一次...
喜欢就抬抬小手,关注一下CC老师! 3年前,任性的因为在北京皮肤过敏严重,裸辞了薪资待遇和发展前途不错的开发岗位。当然最重要的原因是北京的日日夜夜,我把出租房当家。但伤心...
上一篇:flutter_boost学习1:iOS运行flutter_boost的Sample下一篇:flutter_boost学习3:iOSNative添加与flutter交...
按照你的流程来,FlutterBoost接入就报错了
Flutter 混合开发FlutterBoost iOS 接入流程紧接着上次的FlutterBoost Android版本接入,这次主要讲iOS相关的接入 1.创建Flutter module 这个步骤前面的Android版本一样 2.iO...