9

Sollte ich Angst haben, Key-Value Observations (KVO) und NSNotifications zu verwenden? Ich fange an, sie in meiner App zu verwenden, aber ich bin ein wenig nicht vertraut mit dem Konzept von etwas, das möglicherweise einen Appwide-Anruf auslösen oder automatisch Dinge tun könnte, und ein wenig Angst vor der Leistung, die solche Overhead bringen könnte.Leistungsgeschwindigkeit von KVO und NSNotifications?

Sind meine Bedenken unbegründet? Sollte ich sie wie jeden anderen Methodenaufruf verwenden? Sie scheinen sehr praktisch zu sein und füllen viele Lücken, deshalb würde ich sie gerne benutzen, wenn möglich. Hinweis: Ich programmiere hauptsächlich für iOS-Geräte, daher ist Leistung für mich immer ein Problem.

Antwort

20

Sowohl Key-Value-Beobachter als auch NSNotifications sind ziemlich leicht und konnten problemlos auf Desktop-Computern eingesetzt werden, die weniger Energie als ein iPad hatten. Das heißt, Performance-Fragen der "sollte ich?" Typ kann nur durch Profiling beantwortet werden. Ich denke, Sie werden feststellen, dass die meisten Leute empfehlen würden, keine besonderen Leistungsanforderungen zu erfüllen, die ein Design im Voraus erfordern, Sie schreiben die App so, wie es architektonisch am sinnvollsten ist und am effizientesten für die Entwicklung ist. Dann Profil, Profil, Profil. Wenn Sie feststellen, dass KVO oder Benachrichtigungen einen erheblichen Teil Ihrer Apps beanspruchen (ich bezweifle, dass dies der Fall sein wird), sollten Sie leistungsfähigere Lösungen in Betracht ziehen (obwohl es nicht viele gibt).

+0

Danke für die schnelle Antwort. Ich glaube, ich war nur ein bisschen paranoid. Ich tendiere dazu, eine Menge Profilerstellung für meine Apps vorzunehmen, wahrscheinlich zu viel für mein eigenes Wohl. –