2016-01-22 5 views
0

Когда я запускаю это, при первом открытии вкладки «История» ничего не отображается в таблицеView. Только после того, как я поворачиваю экран, все появляется, но они все еще смешны. Эти метки появляются только после поворота экрана. Иногда не вся история. Я читал, что мне не хватает какой-то инициализатор, но я получаю ошибки когда-то изменить положение вещей ... Любая помощь будет оцененаtableView появляется после вращения

// 
    // SecondViewController.swift 
    // 
    // Created by Artiom Sobol on 1/3/16. 
    // Copyright © 2016 Artiom Sobol. All rights reserved. 
    // 

    import UIKit 

    class History: UIViewController, UITableViewDataSource, UITableViewDelegate 
    { 
     // test variable 
     var test: MyHistory! 
     // array to store unarchived history 
     var newHistory = [MyHistory]() 

     //outlet for tableview 

     @IBOutlet var tableView: UITableView! 


     override func viewDidLoad() 
     { 

      //change the background 
      self.view.backgroundColor = UIColor(patternImage: UIImage(named: "newBackground.jpg")!) 

      super.viewDidLoad() 
      tableView.delegate = self 
      tableView.dataSource = self 

      //self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "historyCell") 

      self.tableView.reloadData() 
      //unarchive any new data 
      let defaults = NSUserDefaults.standardUserDefaults() 
      if let savedPeople = defaults.objectForKey("MyHistory") as? NSData { 
       newHistory = NSKeyedUnarchiver.unarchiveObjectWithData(savedPeople) as! [MyHistory] 
      } 

     } 

     func tableView(tableView: UITableView,numberOfRowsInSection section: Int) -> Int 
     { 
      if (newHistory.count < 1) 
      { 
       return 1 
      } 
      else 
      { 
       return self.newHistory.count 
      } 
     } 

     func numberOfSectionsInTableView(tableView: UITableView) -> Int 
     { 
      return 1 
     } 

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

      let cell = tableView.dequeueReusableCellWithIdentifier("historyCell", forIndexPath: indexPath) as! historyCell 
      let person = newHistory[indexPath.item] 
      let defaults2 = NSUserDefaults.standardUserDefaults() 

      print("This is count", newHistory.count) 

      if let savedPeople = defaults2.objectForKey("MyHistory") as? NSData { 
       newHistory = NSKeyedUnarchiver.unarchiveObjectWithData(savedPeople) as! [MyHistory] 
      } 



      // cell.durationLabel.text = String(person.durationNumber) 
      let (hour,minutes,seconds) = secondsToHoursMinutesSeconds(person.durationNumber) 

      if(seconds < 10 && minutes < 10) 
      { 
       cell.durationLabel.text = "0\(hour):0\(minutes):0\(seconds)" 
      } 
      else if(seconds > 9 && minutes < 10) 
      { 
       cell.durationLabel.text = "0\(hour):0\(minutes):\(seconds)" 
      } 
      else if(seconds > 9 && minutes > 9) 
      { 
       cell.durationLabel.text = "0\(hour):\(minutes):\(seconds)" 
      } 
      else if(seconds < 10 && minutes > 9) 
      { 
       cell.durationLabel.text = "0\(hour):\(minutes):0\(seconds)" 
      } 


      cell.kicksLabel.text = String(person.kicksNumber) 

      return cell 
     } 


     func secondsToHoursMinutesSeconds (seconds : Int) -> (Int, Int, Int) 
     { 
      return (seconds/3600, (seconds % 3600)/60, (seconds % 3600) % 60) 
     } 

     override func viewWillAppear(animated: Bool) 
     { 
      super.viewWillAppear(animated) 
      self.tableView.reloadData() 

     } 

    } 

ответ

0

Довольно уверен, что вам нужно добавить DECLARE прямо в середине пусть и если. Это позволит вам получить необходимые шифры, которые находятся внутри API. Затем конечная точка разрешит ваш запрос исходному коду и не будет рассматривать его как ошибку SSL.

+1

что? Извините, не знаю, что вы имеете в виду. –

+0

Я вижу, что у вас уже есть свои объявления и функция переопределения для Boolean. Иногда это вызывает проблемы, даже если команды инициализации установлены правильно. Вот почему нам нужно добавить отказоустойчивость. Я делал это много раз, когда я запускал Linux ngin и когда я развертывал Tomcat 7 в базе данных Oracle. Это также может ограничить любые потерянные пакеты в будущем, только если TCP решит выйти после своей первой попытки. – Caratacus012

+0

Так как бы я исправить? жаль, что я не совсем понимаю, на что вы меня ведете: ( –

0

Одна подозрительная вещь заключается в том, что вы индексируете newHistory [], используя indexPath.item вместо indexPath.row. Я не совсем уверен, что .item правильно установлен, когда indexPath применяется к UITableView.

+0

такой же результат :(любые другие идеи? –

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