美文网首页iOS开发文集
Swift 项目基本写法收集

Swift 项目基本写法收集

作者: 十一岁的加重 | 来源:发表于2017-05-13 14:42 被阅读12396次

    泛型用法

    
    func ==<T: CKKBaseModel>(obj1: T, obj2: T) -> Bool {
        return obj1.ssid == obj2.ssid
    }
    
    

    GCD相关

    DispatchQueue.global().async {
    
        DispatchQueue.main.async {
    
            self.label?.text = "finished"
    
        }
    
    }
    
    
    let delay = DispatchTime.now() + .seconds(60)
    DispatchQueue.main.after(when: delay) {
        // Do something
    }
    
    

    懒加载 lazyloading

    
    let XCCacheDirectory: URL = {
        let urls = FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask)
        return urls[urls.endIndex - 1]
    }()
    
    

    get set 方法

    
    extension UIView {
        var width: CGFloat {
            get { return self.frame.size.width }
            set {
                var frame = self.frame
                //    newValue 就是这个set方法想要进行设置的值
                frame.size.width = newValue
                self.frame = frame
            }
        }
    }
    
    

    私有方法,私有属性,变量之类的得用fileprivate修饰

    GCD 异步操作耗时,主线程执行操作

    
    DispatchQueue.global(qos: .default).async {
    
               // do something
                
                DispatchQueue.main.asyncAfter(deadline: delayTime) {
                    
                    // do something
                }
            }
    
    
    

    全局宏,不依赖类,可单独搞个文件(如:AppMacro.swift)来存放

    
    //delegate 代理
    let TSAppDelegate = UIApplication.shared.delegate as! AppDelegate
    
    // 沙盒文档路径
    let kSandDocumentPath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).last!
    
    
    

    相关文章

      网友评论

        本文标题:Swift 项目基本写法收集

        本文链接:https://www.haomeiwen.com/subject/vtmxxxtx.html