将NSPersistentStoreResult强制转换为数组

时间:2016-12-01 12:31:49

标签: ios swift core-data casting swift3

嗨,我遇到了以下代码的问题。具体来说,if let语句赋予从NSPeristentStoreResult到无关类型[Item]的Cast始终失败警告。我正在使用Swift 3.01。

这似乎应该很简单。我正在关注的这本书是使用早期版本的Swift编写的。谢谢你的放纵。

func demo(){

let request = NSFetchRequest<Item>(entityName: "Item")

  do {
     if let items = try CDHelper.shared.context.execute(request) as? [Item] {
        for item in items {
           if let name = item.name {
              print("Fetched Managed Object = '\(name)'")
           }
        }
     }
  } catch {
     print("Error executing a fetch request: \(error)")
  }
 }

1 个答案:

答案 0 :(得分:12)

使用private void panel1_MouseDoubleClick(object sender, MouseEventArgs e) { Form1 f1 = new Form1(); f1.panel1.Visible = true; f1.panel1.Show(); } 代替 @Override public void onBackPressed() { Intent intent = new Intent(this,O.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish(); }

fetch()

或在您的上下文中使用execute()

if let items = try CDHelper.shared.context.fetch(request)
...