2015-10-27 25 views
8

Nesnenin bir nesnesinin eklendiği NotSureItem nesne sınıfım var. Uygulamamda veritabanı için Realm kullanıyorum ancak uygulamasındaki açıklama özelliklerini eklediğimde, depolanan özelliği geçersiz kılmam için bana bir hata verdi. Ayrıca Objective-C selector 'description' ile 'description' için 'Getter' gibi bir hata da veriyor, aynı Objective-C seçicisiyle superclass 'NSObject'den' açıklama 'için getter ile çelişiyor. İşte benim kod nesne sınıfım.Depolanmış bir özellik 'description' ile geçersiz kılma '

import Foundation 
import Realm 

class NotSureItem: RLMObject { 
    dynamic var title = "" 
    dynamic var description = "" 
    dynamic var dateTime = NSDate() 
} 
+0

Piyush haklı. (Örneğin, ‘isEditing’ ve ‘objectSpecifier’ gibi) Kakao paradigmaların örtüşen ifadeler kaçınmalıdır. Ayrıca, "NSObject" alt sınıfı olmasa bile, yine de "description" özellik adından kaçınmak istersiniz, çünkü bu gelecekte bir sonraki noktada bu uygunluğu eklemek istediğinizde "CustomStringConvertible" ile çakışır. hata ayıklama amaçları). – Rob

cevap

16

o NSObject içinde -Sağladığınız yöntemiyle ile çakışan Çünkü (Çekirdek Veri dinamik özellik erişimcisi ve mutators üretir hatırlama - ‘açıklaması’ adlı bir özellik de erişimci yöntemi denir -Sağladığınız oluşturarak gerektirecektir). Bir özelliği adı NSObject veya NSManagedObject herhangi bir parametre yöntem adı ile aynı olamaz

not edin. Örneğin, yapamazsınız bir özellik adı "açıklama". NSObject'te NSObject üzerinde, özellik adlarıyla çakışabilecek yüzlerce yöntem vardır ve bu liste, çerçevelerden veya diğer kitaplıklardan uyarıda bulunmadan büyüyebilir. Sen çok genel ("font” gibi ve ‘renk’) kelimeleri ve kelime veya