2016-02-12 3 views
-1

У меня есть UIViewController с ContainerView (подключенный к пустому UIView) и таблице. Иногда он отображается правильно (я загружаю данные JSON в viewDidLoad), но в других случаях весь вид черный. Я попытался определить его в соответствии с определенным изменением компоновки, поэтому я изменил изменения (снова отобразился правильно), а затем изменил изменения точно так же, как и раньше (просмотр все еще отображается правильно).UIViewController occally black black

Невозможно сбой или сообщение об ошибке, если вид черный. Программа по-прежнему работает в фоновом режиме, я могу переключиться на другие части с помощью TabBar.

Единственное указание в коде что-то пошло не так в том, что

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

никогда не вызывается. Но если TableView терпит неудачу, почему весь ViewController не отображается?

Edit: Код для viewdidload.

let tURL = NSURL(string: "<urlofjsonfile>") 
    var JSONData:NSData? = nil 
    do { 
     JSONData = try NSData(contentsOfURL: tURL!, options: []) 
    } catch { 
     print("\(error)") 
    } 
    if let json = (try? NSJSONSerialization.JSONObjectWithData(JSONData!, options: [])) as? NSDictionary { 
     if let serienstartJsonArray = json["sendungen"] as? [NSDictionary] { 
      for item in serienstartJsonArray { 
       let meldung=SerienDataModel(json: item) 
       seriendaten.append(meldung) 
      } 
      arrSectionStart.append(0) 
      if let id = json["anzahl1"] as? Int { 
       arrSectionRows.append(id+1) 
      } else { 
       arrSectionRows.append(0) 
      } 
      if let numb2 = json["anzahl2"] as? Int { 
       arrSectionStart.append(arrSectionRows[0]+1) 
       arrSectionRows.append(numb2) 
      } else { 
       arrSectionRows.append(0) 
       arrSectionStart.append(1) 
      } 
      arrSectionStart.append(arrSectionRows[0]+arrSectionRows[1]+3) 
      if let numb3 = json["anzahl3"] as? Int { 
       arrSectionRows.append(numb3) 
      } else { 
       arrSectionRows.append(0) 
      } 

     } else { 
      print("Error creating dictionary") 
     } 
    } else { 
     print("Error NSJSONSerialization") 
    } 
+0

Вы можете показать код для просмотраDidload – Woodstock

+0

Я добавил код. – Matt

+0

- цвет фона вашего черного стола? – uchiha

ответ

0

Вы сети синхронно в viewDidLoad:

JSONData = try NSData(contentsOfURL: tURL!, options: []) 

Никогда никогда не делает этого. Не синхронно сети, кроме фонового потока. Сеть должным образом (асинхронно) и обновите свою модель и интерфейс после этого в основном потоке.

+0

Вы правы - но даже если я отключу весь сетевой код (по существу создавая пустую таблицу), представление по-прежнему остается черным. Это также не объясняет, почему весь вид является черным, а не только табличным представлением ... – Matt