2015-11-26 2 views
0

привет Я начинающий программист быстрыМоя метка не изменится в ViewController

Мой код:

мне нужен ярлык изменения, почему метка не меняется в ViewController?

let task = NSURLSession.sharedSession().dataTaskWithRequest(requset) { 
    data, response, error in 

    if error != nil { 
     println("eror=\(error)") 
     return 
    } 
    println("responce = \(response)") 

    let responcsestring = NSString(data: data, encoding: NSUTF8StringEncoding) 

    println("responce data = \(responcsestring)") 

    self.lable.text = "hello" 

} 

благодаря

+0

Вы связали ссылку этой метки в построителе интерфейса? (IBOulet) – kriOSDeveloper

ответ

0

является объект с именем Lable? Если не попробовать self.label.text = "hello";, возможно, вы сделали только опечатку

+0

Да, это возможно! но не изменить – Amirh

+0

Вы пробовали отлаживать, чтобы узнать, что ваша программа делает с вашим кодом? –

+0

Вы знаете, зачем нужно «я»? – Amirh

3

Я подозреваю, что код не работает в основном потоке, поэтому, хотя ярлык обновляется, пользовательский интерфейс не знает об этом. Попробуйте следующее:

dispatch_async(dispatch_get_main_queue()) 
{ 
    self.lable.text = "hello" 
} 

... и, надеюсь, вы увидите обновление этикетки!

Саймон

+0

thaaaaaaaanks : * – Amirh

+0

Или API более высокого уровня 'NSOperationQueue';)' NSOperationQueue.mainQueue(). AddOperationWithBlock() {self.label.text = "hello"} ' – libec

0

Может быть, вы видите запрос неправильно? let task = NSURLSession.sharedSession().dataTaskWithRequest(requset) {

Смежные вопросы