2016-11-12 13 views
3

Я ноб с базовыми данными, и я не могу найти помощь, которая мне нужна на веб-сайте разработчика Apple.Как использовать запрос Fetch из xcdatamodeld?

Я определил запрос на выборку в своем .xcdatamodeld файле, но теперь я не могу найти, как его использовать? Это определение запроса выборки: enter image description here

Я supose, что выборки запроса начинается с:

let fetch = NSFetchRequest<NSFetchRequestResult>(entityName: "Category") 

Но я не знаю, как использовать запрос выборки по имени. (Проект написан на языке Swift 3)

+0

'пусть выборки: NSFetchRequest = Category.fetchRequest() ' –

ответ

6

Ответ Бхарата заключается в том, как создать и выполнить запрос на выборку в коде. Обычно это так, как вы это сделаете. Однако на самом деле это не ответ на ваш вопрос. Если вы на самом деле создать запрос выборки с именем «allCategories» в модели данных ядра, как это, это то, как вы его используете:

let fetchRequest = self.managedObjectModel.fetchRequestTemplate(forName: "allCategories") 

let fetchedObjects = self.managedObjectContext.execute(fetchRequest!) 
+0

Спасибо за этот хороший ответ, но ... Почему никто не использует файл xcdatamodel для создания запросов на выборку? Это неправильный способ? – Maxime

+0

Я не думаю, что с этим методом есть что-то не так. Но это плохо документировано. Я видел это только однажды. –

-1

Следующий код может помочь вам для справки.

let fetchRequest = NSFetchRequest() 
     let entity = NSEntityDescription.entityForName("YOUR_ENTITY_NAME", inManagedObjectContext:kAppDelegate.managedObjectContext) 
     fetchRequest.entity = entity 
     fetchRequest.predicate = predicate 

     var filterarray : Array = [NSManagedObject]() 
     do { 
      filterarray = try kAppDelegate.managedObjectContext.executeFetchRequest(fetchRequest) as! [NSManagedObject] 
     } catch { 
      filterarray = [] 
     } 
-1

Если вы создали Субъект пользователей и внутри вы создали имя пользователя и пароль. запрос выборки для этого будет следующий код:

пусть appDel: AppDelegate = (.! UIApplication.sharedApplication() делегирует в AppDelegate)

let context:NSManagedObjectContext = appDel.managedObjectContext 

    let request = NSFetchRequest(entityName: "Users") 

    request.returnsObjectsAsFaults = false 

    request.predicate = NSPredicate(format: "username = %@ AND password = %@", username1.text!, password1.text!) 

    let results:NSArray = try! context.executeFetchRequest(request) 
+0

Вопрос заключается в использовании запроса на выборку из Data Model! –

 Смежные вопросы

  • Нет связанных вопросов^_^