2014-12-19 30 views
6

Başımı PFRelation'ı ayrıştırmaya çalışıyorum. Kızlarla ilgili bilgileri depolayan "girlBio" adlı bir dersim ve öğelerle ilgili bilgileri depolayan "şeyler" adı verilen bir sınıf var. Aşağıdaki kod şu şekilde denedi:PFRelation'a nesne eklerken hata, bu nasıl yapılır?

--------------------------------- ayrıca şunu da denedim --- ----------------------

PFObject *item = [PFObject objectWithClassName:@"stuff"]; 
item[@"Name"] = @"PS3"; 
PFObject *girl = [PFObject objectWithClassName:@"girlBio"]; 
girl[@"Name"] = @"Jessica"; 
[item saveInBackground]; 
[girl saveInBackground]; 
PFRelation *relation = [item relationForKey:@"owners"]; 
[relation addObject:girl]; 
[item saveInBackground]; 

yüzden ben programı çalıştırdığınızda ancak ben bu hatayı alıyorum bu madde birkaç kız ait olmak istiyorum :

hatası: ilişki olmayan bir gösterge eklemek olamaz (Code: 111, Sürüm: 1.6.0)

Biri yardım edebilir mi lütfen?

Eğer

cevap

8

ilişkileriyle kaydetmeden önce nesneleri girl1 ve girl2 kaydetmeniz gerekir ederiz. Aksi takdirde, yerel kopyanızın bunları bildiğini düşündüğünüzde, sunucu bunu yapmaz.

GÜNCELLEME

Ayrıca ilişkiyi kaydetmeden önce girl1 ve girl2 ve item komple için kaydeder emin olmalıyız

. Ancak, muhtemelen bu kaydeder birincil iş parçacığı üzerinde çalıştırmak istemiyorum, bu yüzden ben (bu sadece sorun olmadan koştu) gibi bir şey öneriyoruz:

dispatch_async(dispatch_get_main_queue(), ^{ 
    PFObject *item = [PFObject objectWithClassName:@"stuff"]; 
    item[@"Name"] = @"PS3"; 
    PFObject *girl = [PFObject objectWithClassName:@"girlBio"]; 
    girl[@"Name"] = @"Jessica"; 
    [item save]; 
    [girl save]; 
    PFRelation *relation = [item relationForKey:@"owners"]; 
    [relation addObject:girl]; 
    [item saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { 
     //Do something after the last save... 
    }]; 
}); 
+0

sadece bunu denedim, yukarıda düzenlenmiş kodu görüyorum. hala tam olarak aynı hata. grrrr. Beni delirtiyor. – Kex

+0

Bunu kendim yazıp tam olarak çalıştığınız gibi deneyeceğim. PFRelation'ı kaydetmeden ve kaydetmeden önce bir tasarruf sağlamak için iç içe geçmiş bloklara kaydetme ihtiyacı duyulabilir. Seni haberdar ederim. –

+0

Yukarıdaki yanıt güncellendi - bunu deneyin. –

İlgili konular