如何在mac使用swift的警报控制器 [英] How to make an alert controller in mac using swift

查看:195
本文介绍了如何在mac使用swift的警报控制器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Swift的新手,我正在为Mac OS X制作一个收集分数的程序。我知道在iOS上的Swift编程,但我不知道有关OS X Swift。所以我写了一个OS X的程序。我几乎完成了,但我想知道如何使用swift的mac中的警报控制器。我知道如何在iso上做,但我不知道如何在OS X上做它,我想知道如何使用.isEmpty在
OS X.

I am new to Swift, and I'm trying to make a score collected program for Mac OS X. I do know about Swift programming on iOS, but I don't know that much about OS X Swift. So I wrote a program for OS X. I almost finished it, but i want to know how to make alert controller in mac using swift. I know how to do it on iso but i don't know how to do it on OS X and also i want to know how to use .isEmpty in OS X.

import Cocoa

class ViewController: NSViewController {

@IBOutlet var Maths: NSTextField! = NSTextField()
@IBOutlet var Science: NSTextField! = NSTextField()
@IBOutlet var English: NSTextField! = NSTextField()
@IBOutlet var Religious: NSTextField! = NSTextField()
@IBOutlet var History: NSTextField! = NSTextField()
@IBOutlet var Geography: NSTextField! = NSTextField()
@IBOutlet var ICT: NSTextField! = NSTextField()
@IBOutlet var Computing: NSTextField! = NSTextField()

@IBOutlet var Total: NSTextField!
@IBOutlet var AVG: NSTextField!

@IBOutlet var StudentName: NSTextField!
@IBOutlet var StudentClass: NSTextField!

@IBOutlet var Report: NSTextField!






override func viewDidLoad() {
    super.viewDidLoad()



}

override var representedObject: AnyObject? {
    didSet {
    // Update the view, if already loaded.


    }
}

@IBAction func CountTotalnAVG(sender: NSButton) {

    var Mathsc = Maths.stringValue.toInt()
    var Sciencec = Science.stringValue.toInt()
    var Englishc = English.stringValue.toInt()
    var Religiousc = Religious.stringValue.toInt()
    var Historyc = History.stringValue.toInt()
    var Geographyc = Geography.stringValue.toInt()
    var ICTc = ICT.stringValue.toInt()
    var computingc = Computing.stringValue.toInt()

    /*
    var add = (Mathsc?.advancedBy(Sciencec!).advancedBy(Englishc!).advancedBy(Religiousc!).advancedBy(Historyc!).advancedBy(Geographyc!).advancedBy(ICTc!).advancedBy(computingc!))
    */

    var add: Int = (Mathsc! + Sciencec! + Englishc! + Religiousc! + Historyc! + Geographyc! + ICTc! + computingc!)

    if (Mathsc! == " ") {

    }
    else{
        Total.stringValue = "\(add)"

        var divide:Int = add/8

        AVG.stringValue = "\(divide)"
    }
}

@IBAction func GetReport(sender: NSButton) {

    var Mathsc = Maths.stringValue.toInt()
    var Sciencec = Science.stringValue.toInt()
    var Englishc = English.stringValue.toInt()
    var Religiousc = Religious.stringValue.toInt()
    var Historyc = History.stringValue.toInt()
    var Geographyc = Geography.stringValue.toInt()
    var ICTc = ICT.stringValue.toInt()
    var computingc = Computing.stringValue.toInt()

    func getGrade(score: Int) -> String {
        let result: String
        switch score {
        case 80...100 :
            result = "A"
        case 75..<80 :
            result = "B"
        case 60..<75 :
            result = "C"
        case 50..<60 :
            result = "D"
        case 40..<50 :
            result = "E"
        case 0..<40 :
            result = "F"
        default:
            result = "F"
        }
        return result
    }

    Report.stringValue = "Grades you got: \(getGrade(Mathsc!) ,(getGrade(Sciencec!)))"



}


}


推荐答案

没有NSAlertController和UIAlertController。

There is no NSAlertController a la UIAlertController.

您将要创建一个类型NSWindowController的新文件,并选中该框以创建xib。把上面的NSViewController放到xib的窗口中。

You will want to create a new file of type NSWindowController and check the box to create the xib. Put the above NSViewController into your window in the xib.

在代码中,在alloc / init窗口控制器之后,你可以把它显示为一个正常的非模态窗口:

In code, after alloc/init the window controller, you can either show it as a normal non-modal window with:

[windowController.window show] 

或者如果您希望模态体验更像警报,您可以使用:

or if you want the modal experience more like an alert, you can use:

[NSApp runModalForWindow:windowController.window];

这篇关于如何在mac使用swift的警报控制器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆