Я пытаюсь назначить изображение для разных специальностей в моем словаре ex SE, CS, по умолчанию, но каждый раз, когда я запускаю программу, он падает на меня. Я использую tableview и имею стиль подделки. Должен ли я сначала назначать специальности специалистам? Вот мой tableviewcontrollerПрисвоение изображения ключевому значению (Swift)
import UIKit
class ClassRosterTableViewController: UITableViewController {
var studentsList = [Dictionary<String, String>]()
override func viewDidLoad() {
super.viewDidLoad()
let myStudentRoster = ClassRosterModel()
studentsList = myStudentRoster.studentsRoster
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("studentCell", forIndexPath: indexPath)
// Configure the cell...
cell.textLabel?.text = studentsList[indexPath.row]["name"]
cell.detailTextLabel?.text = studentsList[indexPath.row]["number"]
print("Student's name: \(studentsList[indexPath.row]["name"])")
print("Student's number: \(studentsList[indexPath.row]["number"])")
print("Student's email: \(studentsList[indexPath.row]["email"])")
if let major = studentsList[indexPath.row]["major"] {
switch (major) {
case "SE":
cell.imageView?.image = UIImage(named:"SE")!
case "CS":
cell.imageView?.image = UIImage(named:"CS")!
default:
cell.imageView?.image = UIImage(named:"default")!
}
}
return cell
}
//here is my separate class for the studentslist
import Foundation
class ClassRosterModel {
var studentsRoster = [Dictionary<String, String>]()
init() {
studentsRoster.append(["name": "Kaczynski, Alex", "major" : "SE", "email" : "s\(rand1)@monmouth.edu", "currentTerm" : "Spring", "numberOfCredits" : "\(rand2)" ])
studentsRoster.append(["name": "O'Rore, Ryan", "major" : "SE", "email" : "s\(rand1)@monmouth.edu", "currentTerm" : "Fall", "numberOfCredits" : "\(rand2)" ])
}
}
Какая строка сбоев, и что такое сообщение об аварийной консоли? В вашем коде много восклицательных знаков; каждый из них означает «Пожалуйста, разбивайте меня». Вы не можете быть удивлены, если это _does_ crash; ты просил об этом. – matt
Спасибо за тонну, я не знал, что они оказывают такое влияние на код, удаляя их, а затем удаляя точки останова, это была проблема, и мой код не работал. –