Swift38/90Days - 用 Swift 开发 Mac App 1 / 3

Swift90Days - 用 Swift 开发 Mac App 1 / 3

今天抽点时间找了篇 Raywenderlich 上的教程入门了一下 Mac App 的开发。

教程的例子是实现一个简单的 TableView ,不过在 Mac 里它叫做 NSTableView

用法也和 UITableView 相似,通过 delegatedatasource 来加载列表:

import Cocoa

class MasterViewController: NSViewController,NSTableViewDataSource,NSTableViewDelegate {

    var bugs: [ScaryBugDoc]!

    override func viewDidLoad() {
        super.viewDidLoad()

        // init bugs
        var doc1 = ScaryBugDoc(title: "Potato Bug",rating: 4,thumbImage:NSImage(named:"potatoBugThumb")!,fullImage: NSImage(named:"potatoBug")!)
        var doc2 = ScaryBugDoc(title: "House Centipede",thumbImage:NSImage(named:"centipedeThumb")!,fullImage: NSImage(named:"centipede")!)
        var doc3 = ScaryBugDoc(title: "Wolf Spider",thumbImage:NSImage(named:"wolfSpiderThumb")!,fullImage: NSImage(named:"wolfSpider")!)
        var doc4 = ScaryBugDoc(title: "Lady Bug",thumbImage:NSImage(named:"ladybugThumb")!,fullImage: NSImage(named:"ladybug")!)
        bugs = [doc1,doc2,doc3,doc4]
    }



    // MARK: NSTableViewDataSource
    func tableView(tableView: NSTableView!,viewForTableColumn tableColumn: NSTableColumn!,row: Int) -> NSView! {
        var cellView = tableView.makeViewWithIdentifier(tableColumn.identifier,owner: self) as NSTableCellView
        if cellView.identifier == "BugColumn" {
            var doc = bugs[row]
            cellView.imageView?.image = doc.thumbImage
            cellView.textField?.stringValue = doc.data.title
        }
        return cellView;
    }

    func numberOfRowsInTableView(tableView: NSTableView) -> Int {
        return bugs.count
    }

}

好吧就这么点了,感兴趣的同学可以看下文末的教程链接

原文链接

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...