2016-09-13 2 views
3

ID 코어 데이터를 포함하는 데이터를 페치 I이 datas 페치 방법

[계정 1, Account3]

[계정 1, Account2, Account3, Account4 .. (ID 엔티티) 계정 1 & account3 아이디

나는 코드 아래,하지만이 시도는 계정 하나에 국한되지, 어떤 임의의 계정을 가지고 3을 차지한다.

 var ids = [account1id, account3id] 

     let fetchRequest: NSFetchRequest<Accounts> = Accounts.fetchRequest() 
     let titleSort = NSSortDescriptor(key: "type", ascending: true) 
     fetchRequest.sortDescriptors = [titleSort] 
     fetchRequest.predicate = NSPredicate(format: "ANY %@ IN id", argumentArray: ids) 

     var controller: NSFetchedResultsController<Accounts> 
     if #available(iOS 10.0, *) { 

      controller = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil) 

     } else { 
      // Fallback on earlier versions 
      controller = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: contexts, sectionNameKeyPath: nil, cacheName: nil) 

     } 


     do { 

      try controller.performFetch() 
      let tes = controller.fetchedObjects! 
      print("check: \(tes.count) \(tes)") 

     } catch { 

      let error = error as NSError 
      print("\(error)") 

     } 

답변

0

이 시도 : 당신이 일대 다 관계를 사용하지 않는 한

var ids = [id1, id2] 
fetchRequest.predicate = NSPredicate(format: "ANY %K IN %@", 
            argumentArray: [id, ids]) 
0

당신은 당신의 조건에 ANY 필요하지 않습니다. IN도 잘못되었습니다. 다음과 같아야합니다.

NSPredicate(format: "id IN %@", argumentArray: ids) 
관련 문제