swift微博第15天(新版的判断以及跟控制器的切换)

简介: swift微博第15天(新版的判断以及跟控制器的切换)

1.下面主要围绕这个图来写,如果返回true就代表有新的版本或者第一次启动app


image.png

// MARK: 新版的判断
    func isNewUpdateVersion() -> Bool {
    // 1.获取当前app的版本号,从info.plist里面拿到
    let currentVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String
    print("当前的版本号=\(currentVersion)")
    // 2.获取以前的版本号  ?? 代表的意思是: 前面的值如果为nil - 就取后面的值 这里再说明一下,nil 和 字符串空是完全不一样的概念
    let sandBoxVersion = UserDefaults.standard.object(forKey: "CFBundleShortVersionString") ?? ""
    print("之前的版本号=\(sandBoxVersion)")
    // 3.比较当前的版本号和以前的版本号
    // 3.1.如果当前的版本号大于以前的版本号 就代表有新的版本
    // 2.0  -  1.0
    /*
     *  orderedDescending 降序
     *  orderedAscending  升序
     *  orderedSame       相同
     */
    if currentVersion.compare(sandBoxVersion as! String) == ComparisonResult.orderedDescending{
        // 有新的版本就存下新的版本号作为下一次的对比
        // iOS7 之后就不用调用同步的方法了
        UserDefaults.standard.setValue(currentVersion, forKey: "CFBundleShortVersionString")
        // 降序
        print("有版本号更新")
        return true
    }
    // 没有版号更新
    return false   
 }
  • 注意 上面注释里面的  ?? 的意思 ,以及版本号都是字符串
  • 2 下面带大家重温一下通知
  • 2.1.定义常量保存通知的名称 <名字自己随便起>


let JKPopoverAnimatorWillshow = "JKPopoverAnimatorWillshow"
  • 2.2.在使用的地方调用通知


NotificationCenter.default.post(name: NSNotification.Name(rawValue: JKPopoverAnimatorWillshow), object: self)
  • 2.3.注册通知


NotificationCenter.default.addObserver(self, selector: #selector(HomeViewController.change), name: NSNotification.Name(rawValue: JKPopoverAnimatorWillshow), object: nil)
  • 2.4.通知方法的实现


func change() {
}



目录
相关文章
|
Swift
Swift和OC控制器互相跳转
Swift和OC控制器互相跳转
321 0
|
Swift
Swift - 用装有控制器name的数组for循环批量创建控制器(string转UIViewController)
Swift - 用装有控制器name的数组for循环批量创建控制器(string转UIViewController)
100 0
|
SQL 存储 Oracle
swift微博第25天(SQLite)
swift微博第25天(SQLite)
220 0
swift微博第25天(SQLite)
|
Swift
swift微博第21天(图片选择器)
swift微博第21天(图片选择器)
475 0
swift微博第21天(图片选择器)
|
Swift
swift微博第14天(新特性的引导图)
swift微博第14天(新特性的引导图)
188 0
swift微博第14天(新特性的引导图)
|
安全 Swift 数据安全/隐私保护
swift微博第12天(OAuth授权)
swift微博第12天(OAuth授权)
172 0
swift微博第12天(OAuth授权)
|
Swift
swift微博第18天(NSDate+Extension.swift)
swift微博第18天(NSDate+Extension.swift)
135 0
|
Swift
swift微博第17天(UITableViewCell的自定义)
swift微博第17天(UITableViewCell的自定义)
241 0
|
Swift
swift微博第16天(KVC字典转模型)
swift微博第16天(KVC字典转模型)
137 0
|
缓存 定位技术 Swift
swift微博第13天(保存授权信息)
swift微博第13天(保存授权信息)
126 0