5

NSAssertを追加したかったので、合成されたプロパティをオーバーライドしました。

これは実行しても問題ありませんか(つまり、オーバーライド)、または悪い習慣と見なされますか?

@synthesize someField;

-(NSString*)someField {
    NSAssert(someField != nil,@"someField");
    return someField;
}
4

1 に答える 1

5

それは結構です。ドキュメントから:

@synthesizeキーワードを使用して、@implementationブロック内にプロパティのsetterメソッドやgetterメソッドを指定しない場合にそれらを合成する必要があることをコンパイラーに通知します。

したがって、それらを指定すると、@ synthesizeディレクティブに関係なく、コンパイラーはあなたのものを使用します。

于 2009-06-25T12:51:40.690 に答える