swift开发笔记07

// 监听通知

NotificationCenter.default.addObserver(self, selector: #selector(LibraryAPI.downloadImage(_:)), name: NSNotification.Name(rawValue: downloadImageNotification), object: nil)

 

// 网络下载和主线程刷新UI

DispatchQueue.global().async {

                    let image = self.xiaZaiTuPianWithUrl(imageUrl)

                    DispatchQueue.main.async {

                        myImageView?.image = image

                        self.persistencyManager.baoCunTuPian(image, fileName: URL(string: imageUrl)!.lastPathComponent)

                    }

                }

 

// 文件本地目录

let path = NSHomeDirectory() + "/Documents/(filename)"

 

// 枚举

enum PokeType {

    case normal

    case fire

    case water

}

 

// KVO

myImgView.addObserver(self, forKeyPath: "image", options: [], context: nil)

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {

        if keyPath == "image" {

            indicator.stopAnimating()

        }

    }

 

// 

topViewController

(controllers[controllers.count-1] as! UINavigationController).topViewController as? DetailViewController

 

// didSet

    var detailItem: NSDate? {

        didSet {

            // Update the view.

            configureView()

        }

    }

原文地址:https://www.cnblogs.com/dengchaojie/p/7326868.html