2015-04-20 2 views
1

Я новичок в Swift, и я пытаюсь составить программу для Mac OS X. Я знаю о программировании Swift на iOS, но я не знаю о OS X Swift. Поэтому я написал программу для OS X. Я почти закончил ее, но я хочу знать, как создать контроллер предупреждений на Mac с помощью swift. Я знаю, как сделать это на ISO, но я не знаю, как сделать это на OS X, а также я хочу знать, как использовать .isEmpty в OS X.Как создать контрольный контроллер в mac с помощью swift

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!)))" 



} 


} 
+0

в зависимости от того, что вы смотрите на отображение выписки 'NSAlert', которая была наполовину аналогична' UIAlertView' – utahwithak

ответ

1

Там нет NSAlertController а-ля UIAlertController.

Вы хотите создать новый файл типа NSWindowController и установить флажок, чтобы создать xib. Поместите вышеуказанный NSViewController в ваше окно в xib.

В коде, после Alloc/инициализации контроллера окна, вы можете показать его как обычный покадрово окно с:

[windowController.window show] 

или если вы хотите модальный опыта больше как предупреждение, вы можете использование:

[NSApp runModalForWindow:windowController.window];