Tag: objective-c-blocks

Blöcke sind Apple ‚ s implementation von closures für C, die auch für Objective-C und C++.

Warten bis zwei asynchrone Blöcke vor dem Start eines anderen Blocks ausgeführt werden

Anzahl der Antworten 8 Antworten
Bei der Verwendung von GCD, wollen wir warten, bis zwei async-Blöcke ausgeführt werden, und getan, bevor Sie zu den nächsten Schritten der Ausführung. Was ist der beste Weg, das zu tun? Wir haben versucht, die folgenden, aber

Was ist der Unterschied zwischen einer __weak- und einer __block-Referenz?

Anzahl der Antworten 3 Antworten
Bin ich beim Lesen Xcode-Dokumentation, und hier ist etwas, das mich verwirrt: __block typeof(self) tmpSelf = self; [self methodThatTakesABlock:^ { [tmpSelf doSomething]; }]; Folgende ist kopiert aus der Dokumentation: Einen block bildet einen starken Bezug zur Variablen

Bewahren Sie den Zyklus auf "self" mit Blöcken auf

Anzahl der Antworten 9 Antworten
Ich fürchte, diese Frage ist ziemlich grundlegend, aber ich denke, dass es relevant ist, um eine Menge von Objective-C-Programmierer, die sind immer in Blöcke. Was ich gehört habe, dass da die Blöcke erfassen lokale Variablen referenziert, die

Objective-C Callback-Handler

Anzahl der Antworten 1 Antworten
Habe ich eine callback-Methode, die ich habe zu arbeiten, aber ich möchte wissen, wie die Werte übergeben, um es. Was ich habe ist dieses: @interface DataAccessor : NSObject { void (^_completionHandler)(Account *someParameter); } - (void) signInAccount:(void(^)(Account *))handler;

Die Vervollständigung mit animateWithDuration verursacht exc_bad_access

Anzahl der Antworten 1 Antworten
Ich versuche zu animieren, 2 UIButtons in einer UITableViewCell genannt addToPlaylist und removeFromPlayList (animieren Sie rechts ab, nachdem er geklaut) und bin mit einem block wie folgt [UIView animateWithDuration:0.25 animations:^{ self.addToPlaylist.center = CGPointMake(contentsSize.width + (buttonSize.width / 2),

Unterschied zwischen Block (Objective C) und Schließung (Swift) in ios

Anzahl der Antworten 3 Antworten
In seine tutorials geschrieben, die funktional sind beide gleich, Verschluss ist einfacher dann block und dessen vermieden, die Komplexität von block-und memory-management, ich habe schon viele tutorials aber außer diesen, ich bin nicht immer der Unterschied zwischen

Aufruf von [self methodName] aus einem Block heraus?

Anzahl der Antworten 5 Antworten
Ich habe gerade laufen in Blöcken und ich denke, Sie sind genau das, was ich Suche, außer für eine Sache: ist es möglich, eine Methode aufzurufen [self methodName] in einem block? Dies ist, was ich versuche zu

Alternativen zu dispatch_get_current_queue () für Abschlussblöcke in iOS 6?

Anzahl der Antworten 7 Antworten
Habe ich eine Methode, nimmt einen block und einen Abschluss-block. Der erste block sollte im hintergrund laufen, während der Abschluss-block ausgeführt werden soll, in welcher Warteschlange die Methode aufgerufen wurde. Für die letztere benutzte ich immer dispatch_get_current_queue()aber

Objective-C-Pass-Block als Parameter

Anzahl der Antworten 10 Antworten
Wie kann ich passiere ein Block zu einem Function/Method? Versuchte ich - (void)someFunc:(__Block)someBlock ohne Erfolg. ie. Was ist die Typ für eine Block? InformationsquelleAutor der Frage Jacksonkr | 2011-10-29

Wie schreibe ich einen Objective-C Completion Block

Anzahl der Antworten 4 Antworten
Ich bin in einer situation, wo Sie benötigen, rufen Sie eine Methode der Klasse aus meiner Sicht-controller, haben Sie es nicht sein Ding, aber dann einige Aktionen NUR NACH der Methode der Klasse abgeschlossen hat. (Ich denke

Warum verursachen Nil / NULL-Blöcke beim Ausführen Busfehler?

Anzahl der Antworten 4 Antworten
Begann ich mit blocks a Menge und bald gemerkt, dass der null-Blöcke Ursache bus-Fehler: typedef void (^SimpleBlock)(void); SimpleBlock aBlock = nil; aBlock(); //bus error Scheint dies, gegen das übliche Verhalten von Objective-C ignoriert, dass Nachrichten, die zu null-Objekte:

Block Deklaration Syntax Liste

Anzahl der Antworten 7 Antworten
Block syntax in Objective-C (und auch C, nehme ich an) ist notorisch unpassend. Vorbei Blöcke als Argumente sieht anders aus, als das einfügen von Blöcken, wie ivars, die anders aussieht als typedefing blockiert. Gibt es eine umfassende

Wie funktioniert typedefing ein Block?

Anzahl der Antworten 2 Antworten
In C/Obj-C, haben wir eine Typdefinition, wie das typedef int MYINT; das ist klar. Tun typedef für einen block -typedef void (^MyBlock) (int a); Nun, wir können MyBlock. Sollte es auch nicht sein möchte - typedef void

Blockieren Sie Referenzen als Instanzvariablen in Objective-C

Anzahl der Antworten 2 Antworten
Ich Frage mich, ob es möglich ist, zum speichern einer Referenz auf eine anonyme Funktion (block) als Instanz-variable in Objective-C. Ich wissen, wie delegation, target-action, etc. Ich bin nicht darüber zu reden. InformationsquelleAutor der Frage Jacob Relkin

Wie funktioniert ein Completion-Handler auf iOS?

Anzahl der Antworten 1 Antworten
Ich versuche zu verstehen, completion Handler & - Blöcke. Ich glaube, Sie können die Bausteine für viele Tiefe Dinge Programmierung ohne Abschluss-Handler, aber ich glaube, ich verstehe, dass die Vollendung Handler basieren auf Blöcken. (Also im Grunde

Weisen Sie eine Variable innerhalb eines Blocks einer Variablen außerhalb eines Blocks zu

Anzahl der Antworten 7 Antworten
Ich bin immer ein Fehler Variable ist nicht belegbar (es fehlen __block Typ Bezeichner) auf der Linie aPerson = participant;. Wie kann ich sicherstellen, dass der block kann auf die aPerson variable und die aPerson variable kann

Das erneute Laden einer UICollectionView mithilfe der reloadData-Methode wird unmittelbar vor dem erneuten Laden von Daten zurückgegeben

Anzahl der Antworten 3 Antworten
Muss ich wissen, wenn das nachladen einer UICollectionView abgeschlossen hat, um zu konfigurieren, Zellen danach (weil ich bin nicht die Quelle der Daten für die Zellen - andere weisen, hätte es bereits getan...) Habe ich versucht, code

Bausteine ​​kopieren (dh in Instanzvariablen kopieren) in Objective-C

Anzahl der Antworten 4 Antworten
Ich versuche zu verstehen Blöcke. Ich wie zu verwenden Sie in der Regel, wenn übergeben, die direkt auf eine Methode. Ich bin jetzt neugierig geworden ist, der in einen block, speichern Sie es (sagen) in eine Instanz-variable

Objective-C-Block-Eigenschaft mit abgeschlossenem Xcode-Code

Anzahl der Antworten 4 Antworten
Ist es möglich zu definieren, eine Objective-C-block-Eigenschaft, aber immer noch full-code-Vervollständigung in Xcode 4? Wenn ich einen typedef zu definieren, die blockiert werden soll: typedef void (^CompletionBlock)(MyObject *myObj); und definieren dann die Eigenschaft: @property (nonatomic, copy) CompletionBlock

Implementieren einer Methode, die einen Block als Callback verwendet

Anzahl der Antworten 3 Antworten
Möchte ich schreiben, eine Methode, die ähnlich wie diese: +(void)myMethodWithView:(UIView *)exampleView completion:(void (^)(BOOL finished))completion; Habe ich im Grunde abgespeckte die syntax aus einer der Apple-Klasse Methoden für die UIView: + (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL

Wie NSBlockOperation abgebrochen wird

Anzahl der Antworten 4 Antworten
Habe ich eine lange andauernde Schleife möchte ich laufen im hintergrund mit einem NSOperation. Ich würde gerne auf einen block: NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ while(/* not canceled*/){ //do something... } }]; Die Frage ist, wie kann

Deklarieren Sie einen Blockmethodenparameter, ohne einen typedef zu verwenden

Anzahl der Antworten 5 Antworten
Ist es möglich zu bestimmen, eine Methode, block parameter in Objective-C ohne Verwendung eines typedef? Es muss, wie Funktionszeiger, aber ich kann nicht die Treffer auf der Gewinner-syntax ohne Umweg typedef: typedef BOOL (^PredicateBlock_t)(int); - (void) myMethodTakingPredicate:(PredicateBlock_t)predicate

Wie kann ich einen Rückgabewert von einem Abschlussblock abrufen?

Anzahl der Antworten 1 Antworten
Ist es möglich, eine Abschluss-block auf der Haupt-thread? Ich habe zum Beispiel eine Methode, die einen Wert zurückgibt: - (int)test { /* here one method is called with completion block with return type void */ [obj somemethodwithcompeltionblock:

Grand Central Dispatch (GCD) mit CoreData

Anzahl der Antworten 3 Antworten
Ich bin mit Grand Central Dispatch (GCD) in meiner Anwendung zu tun, einige schweres heben. Die Anwendung ist mit Core-Daten für data storage-Zwecke. Hier ist mein Szenario (zusammen mit der relevanten Frage): dispatch_queue_t main_queue = dispatch_get_main_queue(); dispatch_queue_t

Wie vereinfacht man Callback-Logik mit einem Block?

Anzahl der Antworten 3 Antworten
Sagen wir, ich brauche für die Kommunikation mit einer Klasse, die ein Protokoll und fordert die delegate-Methoden auf, wenn eine operation abgeschlossen ist, etwa so: @protocol SomeObjectDelegate @required - (void)stuffDone:(id)anObject; - (void)stuffFailed; @end @interface SomeObject : NSObject

Kann AFNetworking Daten synchron zurückliefern (innerhalb eines Blocks)?

Anzahl der Antworten 6 Antworten
Ich habe eine Funktion mit AFJSONRequestOperation, und ich möchte das Ergebnis nur nach Erfolg. Könnten Sie mich in die richtige Richtung? Ich bin noch ein bisschen ratlos mit Blöcken und AFNetworking speziell. -(id)someFunction{ __block id data; AFJSONRequestOperation

Wann wird enumerateObjectsUsingBlock vs. für verwendet?

Anzahl der Antworten 6 Antworten
Neben den offensichtlichen unterschieden: Verwenden enumerateObjectsUsingBlock wenn Sie Sie brauchen, sowohl für den index und das Objekt nicht verwenden enumerateObjectsUsingBlock wenn Sie müssen, ändern Sie die lokale Variablen (ich war falsch über diese, siehe bbum ' s

Warum können wir in der aktuellen Warteschlange keine dispatch_sync verwenden?

Anzahl der Antworten 6 Antworten
Ich lief in ein Szenario, wo ich eine delegate callback, der auftreten könnte, entweder in der main-thread oder einem anderen thread, und ich möchte nicht wissen, was erst zur Laufzeit (mithilfe StoreKit.framework). Hatte ich auch UI-code, den

Speichern Sie eine Schließung als Variable in Swift

Anzahl der Antworten 7 Antworten
In Objective-C können Sie definieren ein-block-Eingang und-Ausgang, speichern einer jener Blöcke, die übergeben wird eine Methode, die dann diesen block später: //in .h typedef void (^APLCalibrationProgressHandler)(float percentComplete); typedef void (^APLCalibrationCompletionHandler)(NSInteger measuredPower, NSError *error); //in .m @property (strong)

FIFO serielle Warteschlange mit GCD

Anzahl der Antworten 1 Antworten
Ich versuche zu erstellen (Netzwerk) synchronisiert array für die Firma für die ich arbeite. Während der networking-Teil funktioniert gut, ich habe gehaust in ein Thema. Mein Wunsch war es, erstellen Sie eine neue Warteschlange mit dispatch_create_queueauf die

Wie löst man einen Block nach einer Verzögerung aus, wie -performSelector: withObject: afterDelay:?

Anzahl der Antworten 18 Antworten
Gibt es eine Möglichkeit zu nennen, einen block mit einem primitiven parameter nach einer Verzögerung, wie mit performSelector:withObject:afterDelay: aber mit einem argument wie int/double/float? InformationsquelleAutor der Frage Egil | 2010-11-09

Möglich, [self anyFunction] in Blöcken ohne __weak-Objekt (iOS 5 + ARC) zu übergeben

Anzahl der Antworten 2 Antworten
Ist es möglich, pass [self anyFunction], die in Blöcken ohne einen __schwaches Objekt von selbst? Als ein Beispiel dieser gültig ist der code vom System-Framework: [UIView animateWithDuration:0.8 animations:^{ //Do animationStuff } completion:^(BOOL finished) { [self anyFunction]; }];

Wie vermeide ich die Erfassung von Selbst in Blöcken bei der Implementierung einer API?

Anzahl der Antworten 8 Antworten
Ich habe eine funktionierende app und ich bin auf Arbeit Konvertierung ARC in Xcode 4.2. Eine der pre-check-Warnungen beinhaltet die Erfassung self stark in einen block führt zu einer retain-Zyklus. Ich habe ein einfaches code-Beispiel zur Verdeutlichung

Blöcke in einem Array speichern

Anzahl der Antworten 2 Antworten
In Objective-C, ich weiß, dass Blöcke werden als Objekte betrachtet, so Frage ich mich, ob es möglich war, zu speichern diese in einem array. Dies wirft die Frage auf, Blöcke sind first class Objekte oder sind Sie

dispatch_sync vs. dispatch_async in der Hauptwarteschlange

Anzahl der Antworten 3 Antworten
Geduld mit mir, das wird noch näher erklärt werden. Ich habe eine Funktion, die so aussieht wie die unten. Kontext: "aProject" ist eine Core-Data-Entität namens LPProject mit einem array mit dem Namen 'memberFiles' , enthält Instanzen von

Mache iOS-Blöcke synchron ausführen

Anzahl der Antworten 6 Antworten
Wie kann ich einen block synchron ausführen, oder stellen Sie die Funktion warten, bis der Hundeführer vor der return-Anweisung, so können die Daten weitergegeben werden, wieder aus dem block? -(id)performRequest:(id)args { __block NSData *data = nil; [xyzclass

Objective C - Wie benutzerdefinierte Callback-Methode zu implementieren, aber bestimmte Parameter erzwingen?

Anzahl der Antworten 1 Antworten
In meiner app habe ich ein custom UITableViewCell-Unterklasse, öffnet sich ein Farbwähler, wenn Sie gedrückt werden. von nun an werde ich beziehen sich auf diese Klasse als PickerCell. Ich bin mit mehreren Instanzen von PickerCell in der

Verwenden von __block und __weak

Anzahl der Antworten 2 Antworten
Ich gelesen habe über diesen thread: Was bedeutet der "__block" keyword bedeuten?, die beschreibt, was __block verwendet wird, aber ich bin verwirrt über die Antworten. Es sagt __block wird verwendet, um zu vermeiden, behalten Zyklen, aber die

Wie speichert man Blöcke in Eigenschaften in Objective-C?

Anzahl der Antworten 3 Antworten
Möchte ich store objective-c-block in eine Immobilie für die spätere Verwendung. Ich war mir nicht sicher, wie es zu tun, so dass ich ein wenig gegoogelt und es gibt sehr wenig info über das Thema. Aber ich

Zugriff C Array innerhalb von Blöcken (variable Array-Anzahl) Objective-C

Anzahl der Antworten 2 Antworten
Blöcke sind in Ordnung, aber was über das schreiben von C-arrays? Gegeben diese vereinfachte situation: CGPoint points[10]; [myArray forEachElementWithBlock:^(int idx) { points[idx] = CGPointMake(10, 20); //error here //Cannot refer to declaration with an array type inside block