2017-06-01 1 views
0

In AFNetworking Quellcode AFURLSessionManager.m,Warum NSStringFromSelector (@selector (countOfBytesReceived)) für forKeyPath in addObserver verwenden: forKeyPath: Optionen: Kontext in AFNetworking?

(NSURLSessionTask *)task 
[task addObserver:self 
     forKeyPath:NSStringFromSelector(@selector(countOfBytesReceived)) 
      options:NSKeyValueObservingOptionNew 
      context:NULL]; 

Warum "NSStringFromSelector (@selector (countOfBytesReceived))" anstelle von @ "countOfBytesReceived".

+0

[Welcher Ansatz für KVC?] (Https://stackoverflow.com/q/15023832/4244136) – Willeke

Antwort

1

NSStringFromSelector(@selector(countOfBytesReceived)) ist strikt besser, da jeder Tippfehler oder Rechtschreibfehler während der Kompilierung abgefangen wird, solange die Warnung "Nicht deklarierte Auswahl" in Xcode aktiviert ist. Wenn Sie stattdessen falsch verwenden, zum Beispiel @"countOfByteReceived" wird alles gut kompiliert, aber Ihr Code wird nicht zur Laufzeit wie gewünscht funktionieren. Das Formular NSStringFromSelector lässt den Editor auch bei der Code-Vervollständigung helfen.

Verwandte Themen