2015-10-27 9 views
8

オブジェクトクラスにNotSureItemというアイテムクラスを追加しました。私のアプリケーションでは、データベース用にRealmを使用していますが、私のアプリに説明属性を追加したときには、格納されたプロパティを上書きするエラーが表示されます。また、Objective-Cセレクタ 'description'で 'Getter for' description 'のようなエラーが発生し、同じObjective-Cセレクタでスーパークラス' NSObject 'から' description 'のgetterと競合しています。ここでは私のコードオブジェクトクラスです。ストアドプロパティ 'description'でオーバーライドできません

import Foundation 
import Realm 

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

Piyushが正しいを避ける必要があります。さらに、 'NSObject'サブクラスでなくても、' description'プロパティ名を避けたいのですが、将来のある時点でその適合性を追加したい場合は、 'CustomStringConvertible'と衝突します。デバッグの目的)。 – Rob

答えて

16

それがNSObjectの中-description方法と競合するため、(コアデータを動的にプロパティアクセサとミューテータを生成リコール - 「説明」という名前のプロパティアクセサメソッドと呼ばれる-descriptionを作成する必要になります)。

プロパティ名は、パラメータなしの メソッド名NSObjectまたはNSManagedObjectと同じにすることはできません。たとえば、 プロパティに名前 "description"を指定することはできません。 NSObjectには何百ものメソッドがあり、プロパティ名と競合する可能性があります。 は、フレームワークや他のライブラリから警告なしで拡大することができます。あなたは 非常に一般的な(「フォント」のような、および 『色』)単語と単語や(例えば、 『isEditing』と 『objectSpecifier』など)のCocoaパラダイムと重複 フレーズ。

関連する問題