2017-12-18 24 views
0

なぜCore Dataのデータをテーブルビューに追加できないのでしょうか。それは最初に追加され、保存されましたが、アプリケーションがリロードされたときにデータがなくなったので再ロードする必要がありますが、データをテーブルビューに追加できないようですか?ここ は、あなたがテーブルビューの使用NSManagedObject場合'String'型の値を期待した引数型 'NSManagedObject'に変換できません。Swift

var titlename: [String] = [] 

答えて

1

です。

for result in results as! [NSManagedObject] { 
     titlename.append(result) 
    } 

OR

テーブルビューのみ次いでだけStringにタイプNSManagedObjectを変更するセルを作成するためtitlename配列から文字列を使用します。

var titlename: [String] = [] 

これは役に立ちます。

1

にtitleNameタイプを変更するために、単純に配列にNSManagedObjectデータを追加するセルを作成することも、コード

var titlename: [NSManagedObject] = [] 

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(true) 

    let appDelegate = UIApplication.shared.delegate as! AppDelegate 
    let manageContext = appDelegate.persistentContainer.viewContext 
    let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Items") 

    fetchRequest.returnsObjectsAsFaults = false 

    do { 
     let results = try manageContext.fetch(fetchRequest) 

     for result in results as! [NSManagedObject] { 
      if let theName = result.value(forKey: "name") as? String { 
       titlename.append(theName) 
      } 
     } 
    } catch let error as NSError { 
     print("Could not fetch. \(error), \(error.userInfo)") 
    } 

    tableView.reloadData() 
} 
関連する問題