Bardzo nowy w Core Data, ale przeczytałem, że mogę pobrać dane, które używa relacji Entity. Teraz, pochodząc z Mysql, może robię zbyt wiele założeń, ale mam 2 jednostki skonfigurowane z relacją między nimi i nie mogę pobrać właściwych danych.iOS 8 Swift NSFetchResult predykat z relacją Core Data nie może uzyskać dostępu do wewnętrznego identyfikatora
Oto moje 2 modele:
@objc(Categories)
class Categories: NSManagedObject {
@NSManaged var category: String
@NSManaged var exp: String
@NSManaged var order: NSNumber
}
@objc(Techniques)
class Techniques: NSManagedObject {
@NSManaged var korean: String
@NSManaged var order: NSNumber
@NSManaged var spanish: String
@NSManaged var categories: Categories
}
Po stworzyłem związku z technik kategorii Core Data dodania tego pola do SQLite DB:
ZCATEGORIES - INTEGER
Powiedzmy, że chcemy się pobrać wszystkie Techniki należące do kategorii # 3 (z wewnętrznym ZID: 3)
Jeśli to zrobię:
request.predicate = NSPredicate(format: "categories == %@", 3)
Działa. Ale jeśli to zrobię:
request.predicate = NSPredicate(format: "categories == %@", category.category)
To nie działa. Rozumiem, że to nie działa, ponieważ category.category
jest ciągiem, a nie liczbą całkowitą.
Moje pytanie brzmi:
Czy muszę tworzyć własne pola identyfikatorów relationhip w kategorii Entity i ustawiony, wtedy odwoływać się do techniki jak:
request.predicate = NSPredicate(format: "categories == %@", category.categoryID)
?
Czy nie ma sposobu uzyskania dostępu do wewnętrznego ID kategorii, aby ta relacja zadziałała?
Albo jeszcze lepiej, wydaje mi się, że powinien istnieć wewnętrzny mechanizm do odzyskiwania tych relacji bez pisania zapytania podobnego do zapytania SQL, ale po prostu przy użyciu obiektu, coś w stylu: Techniques.categores
.
Dzięki. Nigdzie nie znalazłem dobrej odpowiedzi.
dół głosowania, bo to można łatwo znaleźć w każdym początkujących rdzeń samouczka dane, które obejmują relacje. Stack Overflow nie zastępuje nauki. – Fogmeister
To naprawdę nieprzydatne podejście, które możesz tam zrobić, przynajmniej możesz wskazać mi link, w którym łatwo to znaleźć.Szukałem od 2 dni i nie mogę tego znaleźć, dlatego opublikowałem to tutaj. Może jestem idiotą, ale twoja odpowiedź nie robi absolutnie nic, co mogłoby przyczynić się do pomagania innym. – kakubei
Pierwszy wynik Google dla "Relacji podstawowych danych" https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html Czwarty wynik dla "relacji NSFetchRequest" http: // www. raywenderlich.com/934/core-data-tutorial-for-ios-getting-started. Ten drugi link poprowadzi cię przez wszystko, co obecnie próbujesz zrobić. Nie mówię, że jesteś idiotą, mówię, że StackOverflow nie jest wymówką, by nie wychodzić i szukać odpowiedzi. – Fogmeister