2017-01-13 3 views
0

In meiner Klasse verwenden, die ich habe:"set" in Kakao Methodennamen

@property (atomic, retain) NSPredicate* predicate; 

So offensichtlich setPredicate: somePredicate funktioniert.

Ich möchte eine Klasse Methode, die wie folgt aussieht:

-(void)setPredicateWithDate:(NSDate *)date 
{ 
    NSPredicate* predicate = (build a predicate with the NSDate) 

    [self setPredicate:predicate]; 
} 

Dies scheint mit Cocoa Namenskonventionen in Konflikt, weil ich predicateWithDate genannt keine Eigenschaft haben. Was nennen die Leute normalerweise solche Methoden?

Ich dachte "applyPredicateWithDate:"

Gedanken?

+0

'NSView' hat Methoden wie' setFrameOrigin: 'und' setNeedsDisplayInRect: '. – Willeke

Antwort

2

Die Benennung einer Methode, die mit set beginnt, ist absolut in Ordnung. Nicht alle Methoden, die mit set beginnen, müssen ein Setter direkt auf die Instanzvariable namens set sein, sie sollte einfach das tun, was sie sagt, und die Ivars in Ihrer Klasse entsprechend ändern, in der Ihr Fall völlig in Ordnung ist.