2016-04-05 27 views
0

Birçok [Kelime] sahip bir Sayfayıdüzgün birçok ilişki bir birinden .allObjects nasıl alınır

class Page : NSManagedObject { 
    @NSManaged var words: NSSet 

Sonra aracılığıyla bu erişebilir var:

let words = self.page.valueForKey("words") 

Benim hata geliyor [Word] olarak oynatmak isterler:

for word in words!.allObjects as! [Word] { 

döndürür Hangi:

error: <EXPR>:1:24: error: 'Word' is ambiguous for type lookup in this context 
words!.allObjects as! [Word] 
         ^~~~ 
Swift.Word:2:18: note: found this candidate 
public typealias Word = Int 
       ^
found this candidate 

Teorilerim

Henüz Swift/Xcode hataları ile çok aşina değilim. Ama bu Word bir sistem nesnesi olarak başka bir yerde saklıdır olabileceğini söylemeye çalışıyor ve bunu kullanmış gerektiğini? Benim diğer teori belki benim varlıkları Word = Int correctly..hence bağlayan değilim olmasıydı.

İşte

enter image description here

benim Sayfa edilir:

enter image description here

Herhangi fikirler bu hata ne olabileceğini İşte

benim Kelime nedir?

cevap

1

Bir kümeyi bir diziye veya daha doğrusu NSSet - Array'a göndermeye çalışıyorsunuz. Zaten düzgün sınıflandırma ne zaman Ayrıca, güvensiz valueForKey gerekmez.

let words = page.words as Set<Word> 

Aynı yolu

for word in words { .... } 
+0

bir dizi olarak ben page.words' çalışmış olurdu 'düşünce numaralandırabilmesidir ama döndürür:' hatası: : 1: 1: Hata: Değer 'NSManagedObject' türünde hiç üye yok 'kelimeler'. Sadece vahşi burada atış ama 'sözler! Set olarak .allObjects' da ' 'Kelime' Eğer Page'' için 'page' döküm yoktu çünkü var bu context' – Trip

+1

yazın arama için belirsiz döndürür. – Mundi

+0

ah buydu. Çok teşekkürler. Yorumunuz Henüz iki sınıfla modelxcdID dosyayı bağlı asla fark götürebilir. Teşekkür ederim! – Trip

İlgili konular