- (void)someMethod
{
if ([delegate respondsToSelector:@selector(operationShouldProceed)])
{
if ([delegate operationShouldProceed])
{
// do something appropriate
}
}
}
Die documentation sagt verwenden:wenn respondsToSelector in Objective-c
Die Vorsichtsmaßnahme notwendig ist, nur für optionale Methoden in einem formellen Protokoll oder Methoden eines informellen Protokoll
Was tut es bedeutet? Wenn ich ein formelles Protokoll verwende, kann ich einfach [delegate myMethod]
verwenden?
danke. Ich verstehe jetzt.Ich habe bemerkt, dass Sie self.delegate verwenden, was eine Eigenschaft ist. Ich benutze nur eine Instanzvariable: ID Delegate. was ist der Unterschied? Im Lernziel-c. danke nochmal – Taho
'self.delegate' ist genau das Selbe wie' 'self delegate'' zu nennen. In meinem Code gibt es keinen Unterschied zwischen '[self.delegate someMethod]' und '[_delegate someMethod]', aber ich neige dazu, die Punktsyntax zu verwenden, weil ich genau weiß, welche Variablen lokal für die Methode sind das sind Instanzvariablen. – kubi
Wenn Sie gerade erst anfangen, wird es sich lohnen, Apple's Guide zu Obj-C zu lesen. http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProperties.html%23//apple_ref/doc/uid/TP30001163-CH17 – kubi