Als «automatic-ref-counting» getaggte Fragen

Die automatische Referenzzählung (ARC) ist eine Compilerfunktion, die die automatische Speicherverwaltung von Objective-C- und Swift-Objekten ermöglicht.


19
performSelector kann ein Leck verursachen, da sein Selektor unbekannt ist
Ich erhalte die folgende Warnung vom ARC-Compiler: "performSelector may cause a leak because its selector is unknown". Folgendes mache ich: [_controller performSelector:NSSelectorFromString(@"someMethod")]; Warum bekomme ich diese Warnung? Ich verstehe, dass der Compiler nicht überprüfen kann, ob der Selektor vorhanden ist oder nicht, aber warum würde das ein Leck verursachen? Und …



8
Objective-C ARC: stark gegen behalten und schwach gegen zuweisen
Es gibt zwei neue Speicherverwaltungsattribute für Eigenschaften, die von ARC eingeführt wurden, strongund weak. Abgesehen davon copy, was offensichtlich etwas völlig anderes ist, gibt es Unterschiede zwischen strongvs retainund weakvs assign? Nach meinem Verständnis besteht der einzige Unterschied darin, dass der Zeiger weakzugewiesen wird nil, während dies assignnicht der Fall …


2
Warum empfiehlt Apple, dispatch_once für die Implementierung des Singleton-Musters unter ARC zu verwenden?
Was ist der genaue Grund für die Verwendung von dispatch_once im gemeinsam genutzten Instanz-Accessor eines Singletons unter ARC? + (MyClass *)sharedInstance { // Static local predicate must be initialized to 0 static MyClass *sharedInstance = nil; static dispatch_once_t onceToken = 0; dispatch_once(&onceToken, ^{ sharedInstance = [[MyClass alloc] init]; // Do …


8
Was bedeutet bei der Konvertierung eines Projekts zur Verwendung von ARC "Switch Case befindet sich im geschützten Bereich"?
Was bedeutet bei der Konvertierung eines Projekts zur Verwendung von ARC "Switch Case ist im geschützten Bereich"? Ich konvertiere ein Projekt zur Verwendung von ARC mit Xcode 4 Bearbeiten -> Refactor -> In Objective-C ARC konvertieren ... Einer der Fehler, den ich erhalte, ist "Schaltergehäuse befindet sich im geschützten Bereich" …

10
Semantisches Problem: Der synthetisierte Getter von Property folgt der Cocoa-Namenskonvention für die Rückgabe von "eigenen" Objekten
Ich verwende derzeit das iOS 5 SDK, um meine App zu entwickeln. Ich versuche, einen NSString zu einer Eigenschaft zu machen und ihn dann in der .m-Datei zu synthetisieren (ich habe dies zuvor ohne Probleme getan). Nun stieß ich auf Folgendes: "Semantisches Problem: Der synthetisierte Getter von Property folgt der …


7
Was ist der Unterschied zwischen einer schwachen Referenz und einer nicht besessenen Referenz?
Swift hat: Starke Referenzen Schwache Referenzen Nicht besessene Referenzen Wie unterscheidet sich eine nicht besessene Referenz von einer schwachen Referenz? Wann ist es sicher, eine nicht im Besitz befindliche Referenz zu verwenden? Sind nicht besessene Referenzen ein Sicherheitsrisiko wie baumelnde Zeiger in C / C ++?

5
Welche Art von Lecks verhindert oder minimiert die automatische Referenzzählung in Objective-C nicht?
Auf den Mac- und iOS-Plattformen werden Speicherverluste häufig durch unveröffentlichte Zeiger verursacht. Traditionell war es immer von größter Bedeutung, Ihre Zuordnungen, Kopien und Aufbewahrungen zu überprüfen, um sicherzustellen, dass jede eine entsprechende Freigabemeldung enthält. Die mit Xcode 4.2 gelieferte Toolchain führt die automatische Referenzzählung (ARC) mit der neuesten Version des …


1
Benutzerdefinierter Dealloc und ARC (Objective-C)
In meiner kleinen iPad-App habe ich eine "Sprache wechseln" -Funktion, die einen Beobachter verwendet. Jeder View Controller registriert sich während seiner Zeit bei meinem Beobachter viewDidLoad:. - (void)viewDidLoad { [super viewDidLoad]; [observer registerObject:self]; } Wenn der Benutzer auf die Schaltfläche "Sprache ändern" klickt, wird die neue Sprache in meinem Modell …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.