每次应用程序在SWIFT中启动iOS时启动解析器

时间:2014-10-31 13:14:07

标签: ios parsing swift

我想在每次在设备上运行应用时运行解析器。使用模拟器,它运行良好,因为每次应用程序都在构建和运行。

该项目非常简单,在Xcode中启动了单视图应用程序。我在ViewController中添加了一个名为label的标签。然后我创建了一个名为Parser.swift的解析器。

这是代码:

class ViewController: UIViewController, ParserDelegate {

var parser : Parser!
@IBOutlet weak var label: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()

    // Parser
    let url = NSURL(string: "http://....json")
    parser = Parser()
    parser.delegate = self
    parser.startParsing(url!)

    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func parsingWasFinished() {
    //println("Parser ended!");
    self.label.text = "End"
    }
}

Parser与写作无关。

工作正常。从“开始”开始,标签在解析器完成时以“结束”结束。

问题在于我的设备:当我结束/重新启动应用程序时,解析器无法启动,而且我总是“结束”。

你知道我做错了吗?每次应用程序启动时,解析器如何启动?

非常感谢。

修改

class ViewController: UIViewController, ParserDelegate {

var parser : Parser!
@IBOutlet weak var label: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(true);

    // Parser
    let url = NSURL(string: "http://...json")
    parser = Parser()
    parser.delegate = self
    parser.startParsing(url!)

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

func parsingWasFinished() {
    //println("Parser ended!");
    self.label.text = "End"
    }
}

0 个答案:

没有答案