我对编程很陌生,遇到了一个大问题,我花了很多时间来解决它。但我不明白为什么会出错。
我有一个ViewController
with aTableView
和一个ViewController
wheres 的 View,您可以将数据添加到TableView
. 从这个类中,我从第一个ViewController
类中调用一个 func,在这个 func 中是reloadData
. 问题就从这里开始了。该应用程序停止,并且仅当我在第二类中调用 func 时才停止。当我在头等舱中调用它时,从来没有出现过问题。
这是第一堂课:
class GebieteViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
这是函数:
func ladeDaten(){
let request = NSFetchRequest(entityName: "Territory")
do {
territorys = try context.executeFetchRequest(request) as! [Territory]
} catch let gebieteError as NSError {
print("error: \(gebieteError.localizedDescription)")
}
gebieteTableView.reloadData()
}
这是第二课:
class NewGebietViewController: UIViewController, UITextFieldDelegate, UITableViewDelegate{
这是函数:
func textFieldShouldReturn(textField: UITextField) -> Bool {
let neuesGebiet = NSEntityDescription.insertNewObjectForEntityForName("Territory", inManagedObjectContext: self.targetVC.context) as! Territory
neuesGebiet.territoryName = self.newGebietNameTextField.text
do {
try self.targetVC.context.save()
}catch let gebieteError as NSError {
print("error: \(gebieteError.localizedDescription)")
}
self.targetVC.ladeDaten()
dismissViewControllerAnimated(true, completion: nil)
return true
}
显示错误的图片
http://i.stack.imgur.com/qUo3e.png
谢谢您的帮助。
第一类的更多代码:
class GebieteViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var context = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
@IBOutlet weak var gebieteTableView: UITableView!
@IBOutlet weak var menuButton: UIBarButtonItem!
@IBOutlet weak var newGebietButton: DesignableButton!
var territorys: [Territory]!
第二类的更多代码:
class NewGebietViewController: UIViewController, UITextFieldDelegate, UITableViewDelegate{
@IBOutlet weak var newGebietNameTextField: UITextField!
let targetVC = GebieteViewController()