2016-02-07 4 views
0

Я пробовал много разных вещей и много смотрел, но я не могу решить эту проблему.Ошибка приложения, хотя ничего кроме кода в Xcode с Swift 2

ниже код компилируется нормально и строит успешно, но через пару секунд Xcode открывается обратно с AppDelegate открытия файла с сигналом SIGABRTклассический Thread 1 с приложением не работает.

Кстати, приложение не должно делать ничего сложного, а просто меняет цвет backgroundColor.

Пожалуйста, дайте мне знать и как я могу изменить его и сделать его лучше.

import UIKit 

class ViewController: UIViewController { 
    func changeBackround() { 
     self.view.backgroundColor = UIColor.randomColor() 
    } 
    override func viewDidLoad() { 
     NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: Selector("changeBackground"), userInfo: nil, repeats: true) 
    }  
} 

extension UIColor { 
    static func randomColor() -> UIColor { 
     let red = CGFloat(drand48()) 
     let green = CGFloat(drand48()) 
     let blue = CGFloat(drand48()) 
     return UIColor(red: red, green: green, blue: blue, alpha: 1.0) 
    } 
} 
+1

См. Http://www.raywenderlich.com/10209/my-app-crashed-now-what-part-1, чтобы узнать, как отладить сбой. Затем обновите свой вопрос соответствующими сведениями, включая полное сообщение об ошибке, и укажите точную строку кода, вызывающую сбой. – rmaddy

ответ

2

Misspeling имени функции changeBackround, в селекторе вы положили Selector("changeBackground"), ошибка в том, что он не нашел функцию корреспондента селектора.

Попробуйте это.

import UIKit 

class ViewController: UIViewController { 


    func changeBackground() { 
     self.view.backgroundColor = UIColor.randomColor() 
    } 

    override func viewDidLoad() { 

     NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: Selector("changeBackground"), userInfo: nil, repeats: true) 

    } 

} 

extension UIColor { 
    static func randomColor() -> UIColor { 
     let red = CGFloat(drand48()) 
     let green = CGFloat(drand48()) 
     let blue = CGFloat(drand48()) 
     return UIColor(red: red, green: green, blue: blue, alpha: 1.0) 
    } 
}