Для школы я делаю приложение о Холокосте. Мне нужно отобразить информацию о лагерях на detailViewController, но она не работает. Я могу получить доступ к значению «имя» переменной (извините, если моя терминология неверна), но ничего больше. Другие сообщения не относятся к Swift или не относятся к моей конкретной проблеме, поэтому я не могу найти решение.Значение типа 'AnyObject' не имеет значения ''
Вот код из класса, который создает тип переменной:
class DeathCamp: NSObject {
var name:String = ""
var locationCountry:String = ""
var jewishDeathCount:Int = 0
init(name:String, locationCountry:String, jewishDeathCount:Int){
self.name = name
self.locationCountry = locationCountry
self.jewishDeathCount = jewishDeathCount
}
}
Вот код, в котором элементы детали устанавливаются в массивы:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showDetail" {
if let indexPath = self.tableView.indexPathForSelectedRow {
let deathCampNewObject = deathCampArray[indexPath.row]
let countryDeathNewObject = countryArray[indexPath.row]
let controller = (segue.destinationViewController as! UINavigationController).topViewController as! DetailViewController
controller.detailItemDeath = deathCampNewObject
controller.detailItemCountry = countryDeathNewObject
controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem()
controller.navigationItem.leftItemsSupplementBackButton = true
}
}
}
В ответ на предложение из комментария, вот мой весь код для DetailViewController:
import UIKit
class DetailViewController: UIViewController {
@IBOutlet weak var detailDescriptionLabel: UILabel!
@IBOutlet var percentageJewsKilled: UILabel!
@IBOutlet var jewsKilled: UILabel!
let masterViewController = MasterViewController()
var detailItemDeath: AnyObject? {
didSet {
// Update the view.
self.configureView()
}
}
var detailItemCountry: AnyObject? {
didSet {
// Update the view.
self.configureView()
}
}
func configureView() {
// Update the user interface for the detail item.
if let detail = self.detailItemDeath {
if let label = self.detailDescriptionLabel {
label.text = detailItemDeath?.name
}
if let label = self.jewsKilled {
label.text = "\(detailItemDeath?.jewishDeathCount)"
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.configureView()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Без всего кода трудно понять, что называет. 'configureView' принадлежит классу? Что называется? Отправьте код для 'DetailViewController'. – ryantxr