Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 调用块内的块目标c_Objective C_Objective C Blocks - Fatal编程技术网

Objective c 调用块内的块目标c

Objective c 调用块内的块目标c,objective-c,objective-c-blocks,Objective C,Objective C Blocks,我希望在完成块A时调用块B(isInsertSuccess返回YES)。有人能帮我使用下面的代码吗?多谢各位 A区 [userServiceInstance insertDataOnSuccess:^ { if (![userServiceInstance isInsertSuccess]) { NSLog(@“Insert is successful”); } }]; B区 [PHPhotoLibrary requestAuthoriza

我希望在完成块A时调用块B(
isInsertSuccess
返回
YES
)。有人能帮我使用下面的代码吗?多谢各位

A区

[userServiceInstance insertDataOnSuccess:^
 {
    if (![userServiceInstance isInsertSuccess]) {
                 NSLog(@“Insert is successful”);
    }
 }];
B区

[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status){
    NSLog(@“This is the status, %ld”, status);
}];
你可以做:

[userServiceInstance insertDataOnSuccess:^{
   if (![userServiceInstance isInsertSuccess]) {
       NSLog(@“Insert is successful”);
       [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status){
           NSLog(@“This is the status, %ld”, status);
       }];
   }
}];

您是否尝试将块B放入块A的
if
语句中?不清楚您有什么问题。对不起,不清楚。当我将块B放在块A内时,不会触发块B。但当我将块B放在块A外时,它会按预期工作。您的
if
语句是错误的。摆脱
。否则,只有当
isInsertSuccess
NO
时,日志才会显示。不会触发块B。当我把它放在块外时,它会按预期工作。然后要么:A)块A永远不会被调用,要么B)或者你在if中的条件导致
NO
你确定你不是有意要做[userServiceInstance isInsertSuccess](没有该命令!)?您的日志似乎表明成功,但您的if看起来做的恰恰相反。是的,我甚至删除了整个if语句进行测试。但还是没有运气。奇怪。这算是递归吗?似乎有一种格式,我只是不确定。然后块a永远不会被调用,所以这是你的问题。你没有提供足够的信息来知道为什么会发生这种情况。不,这不是递归的。在我的实际代码中,在块a中的if语句之前有一个NSLog,它将被打印出来。因此,我很确定这个区块被触发了。