1

NSDate私はから設定したいです、NSIntegerそして私は持っています@property

@property (strong,nonatomic) NSDate *date;

セッターが欲しい:

-(void)setDate:(NSInteger *)tStamp {
    thumbImgUrl = [NSDate dateWithTimeIntervalSince1970:tStamp];
}

だから私は自分の日付をNSInteger値ではなくNSDate値から設定したいと思います。このセッターを宣言するにはどうすればよいですか?ヘッダーファイルに入れようとすると問題なく動作しますが、警告が表示されます。

Type of property 'date' does not match type of accessor 'setDate:

そして、それを.mファイルで宣言したい場合、エラーが発生します。

duplicate declaration of method setDate:

なんで?異なる入力タイプでセッターを宣言する方法はありますか?

4

2 に答える 2

5

一般的に、これはObjective-Cで物事を行うには本当に悪い方法であり、メソッド名を。などの他の名前に変更することを強くお勧めします-(void)setDateWithInteger:(NSInteger)tStamp。(そういえば、NSIntegerはプリミティブであり、オブジェクトではありません)そして、質問に答えるために、いいえ、を使用する場合、異なる入力タイプでセッターを宣言する方法はありません@property。自分のやり方でそれを行うことを主張する場合は、を使用せずにメソッドを宣言する必要があります@property

于 2012-12-31T14:29:39.517 に答える
0

idセッター関数への入力パラメーターとしてタイプを受け入れることができる場合があります。

実装ファイルduplicate declaration of method setDate:に行がある可能性が高いため、取得しています。@synthesize dateこれにより、ゲッター/セッターが自動的に生成されます。独自の実装を提供しているため、その行を削除してください。

于 2012-12-31T14:32:09.803 に答える