Gibt es eine Möglichkeit, einen Block mit einem primitiven Parameter nach einer Verzögerung aufzurufen, z. B. performSelector:withObject:afterDelay:mit einem Argument wie int/ double/
Blöcke sind Apples Implementierung von Closures für C, die auch für Objective-C und C ++ verfügbar sind.
Gibt es eine Möglichkeit, einen Block mit einem primitiven Parameter nach einer Verzögerung aufzurufen, z. B. performSelector:withObject:afterDelay:mit einem Argument wie int/ double/
Was genau macht das __block Schlüsselwort in Objective-C? Ich weiß, dass Sie damit Variablen innerhalb von Blöcken ändern können, aber ich würde gerne wissen ... Was genau sagt es dem Compiler? Tut es noch etwas? Wenn das alles ist, warum wird es dann überhaupt benötigt? Ist es irgendwo in den...
Ich erhalte eine Fehlermeldung Variable ist nicht zuweisbar (fehlender __block-Typbezeichner) auf der Linie aPerson = participant;. Wie kann ich sicherstellen, dass der Block auf die aPersonVariable zugreifen und die aPersonVariable zurückgegeben werden kann? Person *aPerson =...
Ist es möglich, Blöcke als Eigenschaften mit der Standardeigenschaftssyntax zu haben? Gibt es Änderungen für ARC
Die Blocksyntax in Ziel C (und tatsächlich in C, nehme ich an) ist notorisch inkongruent. Das Übergeben von Blöcken als Argumente sieht anders aus als das Deklarieren von Blöcken als ivars, was anders aussieht als das Blockieren von typedefBlöcken. Gibt es eine umfassende Liste der...
Ich habe eine funktionierende App und arbeite daran, sie in Xcode 4.2 in ARC zu konvertieren. Eine der Warnungen vor der Prüfung besteht darin, selfstark in einem Block zu erfassen , was zu einem Aufbewahrungszyklus führt. Ich habe ein einfaches Codebeispiel erstellt, um das Problem zu...
Bei Verwendung von GCD möchten wir warten, bis zwei asynchrone Blöcke ausgeführt und ausgeführt wurden, bevor wir mit den nächsten Ausführungsschritten fortfahren. Was ist der beste Weg das zu tun? Wir haben Folgendes versucht, aber es scheint nicht zu
Ich fürchte, diese Frage ist ziemlich einfach, aber ich denke, sie ist für viele Objective-C-Programmierer relevant, die in Blöcke geraten. Was ich gehört habe ist, dass, da Blöcke lokale Variablen erfassen, auf die in ihnen als constKopien verwiesen wird , die Verwendung selfinnerhalb eines...
Neben den offensichtlichen Unterschieden: Verwenden enumerateObjectsUsingBlockSie diese Option, wenn Sie sowohl den Index als auch das Objekt benötigen Nicht verwenden, enumerateObjectsUsingBlockwenn Sie lokale Variablen ändern müssen (ich habe mich geirrt, siehe bbums Antwort) Wird...
Ist es möglich, einen Methodenblockparameter in Objective-C anzugeben, ohne ein typedef zu verwenden? Es muss wie Funktionszeiger sein, aber ich kann die Gewinnsyntax nicht treffen, ohne ein Zwischen-Typedef zu verwenden: typedef BOOL (^PredicateBlock_t)(int); - (void)
Wie kann ich ein Blockan ein Function/ übergeben Method? Ich versuchte es - (void)someFunc:(__Block)someBlockohne Erfolg. dh. Was ist der Typ für ein
In Objective-C können Sie die Ein- und Ausgabe eines Blocks definieren, einen der Blöcke speichern, die an eine Methode übergeben wurden, und diesen Block später verwenden: // in .h typedef void (^APLCalibrationProgressHandler)(float percentComplete); typedef void
Ich habe eine Methode, die einen Block und einen Abschlussblock akzeptiert. Der erste Block sollte im Hintergrund ausgeführt werden, während der Abschlussblock in der Warteschlange ausgeführt werden sollte, in der die Methode aufgerufen wurde. Für letztere habe ich immer verwendet...
Ich lese die Dokumentation von Xcode und hier ist etwas, das mich verwirrt: __block typeof(self) tmpSelf = self; [self methodThatTakesABlock:^ { [tmpSelf doSomething]; }]; Folgendes wird aus der Dokumentation kopiert: Ein Block bildet einen starken Verweis auf Variablen, die er erfasst. Wenn Sie...
Ich möchte den Objective-C-Block zur späteren Verwendung in einer Eigenschaft speichern. Ich war mir nicht sicher, wie ich es machen sollte, also habe ich ein bisschen gegoogelt und es gibt nur sehr wenige Informationen zu diesem Thema. Aber ich habe es schließlich geschafft, die Lösung zu...
Ich bin gerade auf Blöcke gestoßen und ich denke, sie sind genau das, wonach ich suche, abgesehen von einer Sache: Ist es möglich, eine Methode [self methodName] aus einem Block heraus aufzurufen? Das versuche ich zu tun: -(void)someFunction{ Fader* fader = [[Fader alloc]init]; void...
Ich begann viel mit Blöcken zu arbeiten und bemerkte bald, dass keine Blöcke Busfehler verursachen: typedef void (^SimpleBlock)(void); SimpleBlock aBlock = nil; aBlock(); // bus error Dies scheint gegen das übliche Verhalten von Objective-C zu verstoßen, bei dem Nachrichten an keine Objekte...
Ich möchte eine ähnliche Methode schreiben: +(void)myMethodWithView:(UIView *)exampleView completion:(void (^)(BOOL finished))completion; Ich habe im Grunde die Syntax einer der Klassenmethoden von Apple reduziert für UIView: + (void)animateWithDuration:(NSTimeInterval)duration...