swift学习笔记

1.在 Swift 编程中,最吸引我的就是能在文件中创建多个扩展。这使得我可以把互相关联的方法放在一起。比如每次我向控制器添加一个新协议时,就可以把这个协议的方法放在同一个扩展中。同理,TableView 相关的私有样式初始化方法或者私有 cell 初始化方法都可以放入各自的扩展中。


import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var tableView: UITableView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        styleNavigationBar()
    }
}

private typealias TableViewDataSource = ViewController
extension TableViewDataSource: UITableViewDataSource {
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 5
    }
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("identifier", forIndexPath: indexPath)
        return cell
    }
}

private typealias TableViewDelegate = ViewController
extension TableViewDelegate: UITableViewDelegate {
    
    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        return 64.0
    }
}

private typealias ViewStylingHelpers = ViewController
private extension ViewStylingHelpers {
    
    func styleNavigationBar() {
        // style navigation bar here
    }
}

按照上面的写法 就能优雅的命名对应的扩展

你可能感兴趣的:(swift学习笔记)