gpt4 book ai didi

iOS 在 block 中返回 bool 值

转载 作者:行者123 更新时间:2023-11-28 22:38:06 24 4
gpt4 key购买 nike

我正在尝试从我调用的类方法中返回一个 bool 值,该类方法中有一个 block 。我收到错误消息,不兼容的 block 指针类型发送...。我该如何解决这个问题?我只想知道我调用的类方法是否完成有错误或没有错误...

+ (BOOL)saveSelectedDepartmentsToParse:(NSMutableDictionary *)dictionary {

NSArray *array = [dictionary allKeysForObject:@"YES"];
NSMutableArray *trimmedArray = [[NSMutableArray alloc] init];

for (NSString *string in array) {

NSString *final = [string removeAllInvalidCharacters];
[trimmedArray addObject:final];
}

NSLog(@"Array = %@", trimmedArray);

PFInstallation *currentInstallation = [PFInstallation currentInstallation];

[currentInstallation removeObjectForKey:@"channels"];
[currentInstallation addObjectsFromArray:trimmedArray forKey:@"channels"];
[currentInstallation saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {

if (error == nil) {

NSLog(@"Parse Save Succeeded");

[self saveDepartmentsDictionary:dictionary];
}
else {

NSLog(@"Parse Save Failed, %@", error.localizedDescription);
}
}];
}

最佳答案

I just want to know if the class method I call

这是对异步代码工作原理的误解。当您向 saveInBackgroundWithBlock: 提供 block 时,该代码不会立即执行。它稍后由 Parse 框架执行,如果 block 被定义为有一个,则执行此操作的 Parse 的任何部分都将获得返回值,但事实并非如此。您的 block 不会在您写入时执行,因此您无法在写入时返回任何内容。

您的代码未调用该 block ,您无法从中向您的代码返回值。这样做没有意义。如果代码的另一部分想知道保存何时完成,则需要使用返回值以外的其他机制,例如从 block 中调用方法、发布通知或键值观察。

关于iOS 在 block 中返回 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375627/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com