Когда я запускаю это, при первом открытии вкладки «История» ничего не отображается в таблице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()
}
}
что? Извините, не знаю, что вы имеете в виду. –
Я вижу, что у вас уже есть свои объявления и функция переопределения для Boolean. Иногда это вызывает проблемы, даже если команды инициализации установлены правильно. Вот почему нам нужно добавить отказоустойчивость. Я делал это много раз, когда я запускал Linux ngin и когда я развертывал Tomcat 7 в базе данных Oracle. Это также может ограничить любые потерянные пакеты в будущем, только если TCP решит выйти после своей первой попытки. – Caratacus012
Так как бы я исправить? жаль, что я не совсем понимаю, на что вы меня ведете: ( –