objective-c-blocks

    0热度

    1回答

    我有类A,它被设置为类B的委托。它当前如何工作是来自类A的方法,它使用类B的实例来调用方法。在B的方法执行完毕后,它调用A中实现的委托方法。 想要的是让A类的方法包含一个成功完成块,这样当B的方法完成执行时,我可以从A类中的方法与B的方法成功执行相同。这可以做到吗?

    1热度

    1回答

    UIButton *testButton = [[UIButton alloc] init]; [self.view addSubview:testButton]; testButton.backgroundColor = [UIColor redColor]; [testButton mas_makeConstraints:^(MASConstraintMaker *make) {

    0热度

    2回答

    有没有一种很好的方式来同时使用键值观察和块?我有一个函数需要一个完成块,并且当观察状态变为AVPlayerItemStatusReadyToPlay时,我希望这个完成块运行。我能否以某种方式使用观察者的上下文来传递该块,还是会打破KVO编程的基础? - (void)setVideoWithURL:(NSURL *)url completed:(PlayerCompletedWithFinished

    0热度

    3回答

    在下面的代码中,b的地址在块内变化。为什么?如果它改变为b,为什么不为一个? int b =42; int *a = &b; printf("%p", a); printf("%p", &b); void (^testBlock)(void) = ^(void) { printf("%p", a); //address not

    3热度

    3回答

    我正面临这个问题,我一直在试图找出如何解决它,但没有成功。 我有一个包含图像的单元格的表格视图,我仍然不知道哪个高度将会是。我创建了一个imageView的高度约束的出口,我正在下载与PinRemoteImage异步的图像(我也可以使用SDWebImage,但我认为它在iOS 9中是有问题的)。块内部是我为高度约束分配新常量的地方,然后我进行布局更新。 细胞从来没有更新,我可以看到正确的图像被向下

    0热度

    1回答

    对于块和GCD,我一直很紧张,因为我的大脑告诉我它看起来非常复杂! 我得到一个块,最好看起来好了给我的内心崩溃: #pragma mark - -(void)fetchOrdersListWithInfoDict:(NSDictionary*)infoDict completionBlock:(CompletionBlock)completionBlock errorBlock:(ErrorBl

    -2热度

    1回答

    如何使用我的managedObjectContext将获取的对象传递到performBlockAndWait之外? -(NSArray *)fetchMyData { NSManagedObjectContext *context = [self myManagedObjectContext]; context performBlockAndWait:^{ NSError *err

    -3热度

    2回答

    我是新来的Swift,我试图添加一个完成块。我记得在Objective-C中这很简单,但我有点在这里的语法丢失。该函数解析一些json并将相关内容添加到数组中。一旦函数完成,我需要刷新一个tableview,因为我不能在块内完成这个工作,我需要添加一个完成块。 如何在Swift中为此函数添加完成块,以及新的方法调用将如何? func getSetParameter() { let pa

    5热度

    1回答

    我想在斯威夫特2建立一个Objective-C块,以便将它添加到NSArray像这样: typealias CompletionBlock =() -> Void let aBlock:CompletionBlock = { print("Hello world!") } let nsArray = NSMutableArray() nsArray.addObject(aBloc

    0热度

    1回答

    我想写入一个方法,首先检查一个块是否不为NULL,如果不是用variadic参数调用该块。我对这类事情很陌生。 我收到各种错误与下面的代码: -(void)invokeBlockIfNotNull:(void(^)(void))blockToInvoke withArguments:(id) firstArgument,... { if(blockToInvoke != NULL)