2016-05-22 7 views
0

Obwohl ich weiß, dass diese Frage häufig gestellt wird, habe ich keine Prober-Lösung für meinen Fall gefunden. Ich arbeite an einer App, die Kerndaten verwendet. In Core-Daten habe ich eine Entität namens UserEnt, die eine Eins-zu-viele-Beziehung mit einer Entität namens Hefth Ent aufweist. Hefth Ent hat die umgekehrte Beziehung, die einem Benutzer ent steht. Ich versuche, die Menge der hefths Objekte im Benutzer zu ändern, aber ich bekomme immer diesen Fehler: setOwnerUser:]: unerkannter Selektor an Instanz gesendet 0x7fd2d25dae90 Obwohl ich die vorgeschlagenen Lösungen in den anderen Fragen wie Umwandlung in veränderbare Satz versucht haben und dann mutiert es, aber das hat nicht mit mir funktioniert. Hier ist die Benutzer Ent Klasse:Unbekannter Selektor gesendet zu Instanzfehler mit sogar veränderbaren NSSet

import Foundation 
import CoreData 

extension UserEnt { 

@NSManaged var name: String? 
@NSManaged var numOfKhetma: NSNumber? 
@NSManaged var profilePic: NSData? 
@NSManaged var remPagesForCurrentKhetma: NSNumber? 
@NSManaged var currentHefth: HefthEnt? 
@NSManaged var currentMoraj3a: Moraj3aEnt? 
@NSManaged var hefthSejil: NSSet? 

} 

und hier ist die hefth ent Klasse ... `Import Foundation Import Coredata

extension HefthEnt { 

@NSManaged var achivingPercentage: NSNumber? 
@NSManaged var endDate: NSDate? 
@NSManaged var numOfPages: NSNumber? 
@NSManaged var remPages: NSNumber? 
@NSManaged var title: String? 
@NSManaged var ownerUser: UserEnt? 

} 

wo ownerUser ist der Benutzer, die viele dieser hefth Objekt hat und hier ist der letzte Code habe ich versucht, hefth zu Benutzer hinzufügen und ich immer noch die gleichen Fehler ....

func addHefthToSejil(hefth : HefthObj, forUserOfIndex userIndex:Int) 
{ 
    let request = NSFetchRequest(entityName: "UserEnt") 
    let users = (try! context.executeFetchRequest(request)) as! [UserEnt] 
    let hefthEnt = NSEntityDescription.insertNewObjectForEntityForName("HefthEnt", inManagedObjectContext: context) as! HefthEnt 

    hefthEnt.numOfPages = hefth.numOfPages 
    hefthEnt.endDate = hefth.endDate 
    hefthEnt.remPages = hefth.numOfPages 
    hefthEnt.achivingPercentage = hefth.achievingPercentage 
    hefthEnt.ownerUser = users[userIndex] 

    users[userIndex].mutableSetValueForKey("hefthSejil").addObject(hefthEnt) 
    // the problem happens here 


    do 
    { 
     try context.save() 

    }catch 
    { 
     print("error") 
    } 

    updateAllUsers() 

    } 

habe ich versucht, viele Dinge und nothi ng hat mit mir gearbeitet, hoffe ich finde hier eine Lösung für mein Problem.

+0

Unerkannte Wähler bedeutet der Schlüssel Sie verwenden ist kein gültiger Schlüssel. Vielleicht möchten Sie überprüfen, ob der von Ihnen verwendete Schlüssel falsch ist. – ebby94

+0

Was meinst du mit Schlüssel? –

Antwort

0

Versuchen Sie folgendes:

let user = users[userIndex] as? UserEnt 
let relationship = user.valueForKeyPath("hefthSejil") as? NSMutableSet 
relationship.addObject(hefthEnt) 
+0

Ich habe es versucht. Aber es hat nicht so gut funktioniert: -/und derselbe Fehler wird erzeugt. –