Tag: objective-c-blocks
Blöcke sind Apple ‚ s implementation von closures für C, die auch für Objective-C und C++.
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
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
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
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;
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),
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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
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:
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
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
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
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
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
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)
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
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
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]; }];
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
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
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
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
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
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
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
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