私はプログラミングに非常に慣れておらず、大きな問題を抱えています。解決するのに何時間も費やしました。しかし、なぜこれがうまくいかないのか理解できません。
と があり、データViewController
をに追加できるビューがあります。このクラスから、最初のクラスの func を呼び出します。この func には. そして、ここから問題が始まります。アプリが停止します。これは、2 番目のクラスで func を呼び出した場合にのみ発生します。最初のクラスで呼び出すと、問題は発生しません。TableView
ViewController
TableView
ViewController
reloadData
最初のクラスは次のとおりです。
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()
}
2番目のクラスは次のとおりです。
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]!
2 番目のクラスからの追加のコード:
class NewGebietViewController: UIViewController, UITextFieldDelegate, UITableViewDelegate{
@IBOutlet weak var newGebietNameTextField: UITextField!
let targetVC = GebieteViewController()