In der iOS-App-Entwicklung verwenden wir NSAutoreleasePool
, um das Eigentum an Objekten zu einem späteren Zeitpunkt aufzugeben.Warum müssen wir NSAutoreleasepool für jeden Thread verwenden?
Aber warum kann es zwischen verschiedenen Threads geteilt werden?
Warum müssen wir einen neuen Autorespool erstellen, wenn ich einen neuen Thread verwenden möchte?
EDIT:
Wie taskinoor meine Frage erwähnt wurde, warum dies so ausgelegt ist, dass jeder Thread eine separate autoreleasepool haben sollte.
[Diese Frage steht in engem Zusammenhang mit Ihrer Frage] (http://stackoverflow.com/questions/4547652/does-every-thread-reed-its-own-autorelease-pool) –
Sie sollten über die Verwendung von '@ denken Autorespulepool {...} 'anstelle von' NSAutoreleasePool'. Laut der Dokumentation ist es effizienter. Und wenn Sie zu ARC migrieren, ist dies obligatorisch. –
Ich weiß nicht, warum Sie diese Änderung benötigt, meine Antwort erklärt den Grund dafür :) –