gpt4 book ai didi

ios - 无法识别完成 block 返回类型

转载 作者:行者123 更新时间:2023-11-28 19:40:47 26 4
gpt4 key购买 nike

我正在制作我的第一个完成 block ,由于某种原因它无法识别返回类型,所以我无法将值传回方法调用。

这是我的标题声明

+(void)downloadVenues:(void (^)(NSArray *myVenues, NSError *error))block;

这是我的实现

+(void)downloadVenues:(void (^)(NSArray *myVenues, NSError *error))block{


//download scenes
PFQuery *query = [PFQuery queryWithClassName:@"Venues"];
[query orderByDescending:@"createdAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error) {
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
else {
// We found messages!
myVenues = objects;


NSLog(@"Retrieved %lu messages", (unsigned long)[myVenues count]);




}
}];

在另一个文件中调用它

//download venues
[Venue downloadVenues:^(NSArray *myVenues, NSError *error){
if (error) {
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
else {

NSLog(@"myObjects are: %@", myVenues);
_venues = myVenues;

[self loadAnnotations];

}
}];

出于某种原因,它无法在实现中识别 myVenues。为什么以及如何解决这个问题?谢谢

最佳答案

您的实现永远不会调用完成 block 。这是你应该做的:

+(void)downloadVenues:(void (^)(NSArray *myVenues, NSError *error))block{


//download scenes
PFQuery *query = [PFQuery queryWithClassName:@"Venues"];
[query orderByDescending:@"createdAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error) {
NSLog(@"Error: %@ %@", error, [error userInfo]);
block(nil, error);
}
else {
// We found messages!
block(objects, nil);


NSLog(@"Retrieved %lu messages", (unsigned long)[myVenues count]);




}
}];

关于ios - 无法识别完成 block 返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34426422/

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