gpt4 book ai didi

swift - 如何在 objective-c 中使用返回值的 swift 函数?

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

我正在使用 IBM Watson APIs - Alchemy Data news

问题是,我正在使用 swift - objective C 桥接,并且在这两者之间我被返回值的函数所困。我如何在我的 objective-c 代码中使用该值?

这是我的swift类(class)

@objc class alchemyNews : NSObject {

func getNewsList() -> NewsResponse {

let apiKey = "api-key"
let alchemyDataNews = AlchemyDataNews(apiKey: apiKey)

let start = "now-1d" // yesterday
let end = "now" // today
let query = [
"q.enriched.url.title": "O[IBM^Apple]",
"return": "enriched.url.title,enriched.url.entities.entity.text,enriched.url.entities.entity.type"
]
let failure = { (error: NSError) in print(error) }

alchemyDataNews.getNews(start, end: end, query: query, failure: failure) { news in
print(news)

}

let response : NewsResponse = alchemyDataNews.getNews(start, end: end) { news in
return news
}

return response
}
}

我想要显示 alchemyDataNews.getNews 打印值。所以我以这种方式在我的 Objective C 类中调用这个函数。

@property (strong, nonatomic) AlchemyDataNews *getnews;

-(void)loadNews
{
self.getnews = [[AlchemyDataNews alloc]init];
[self.getnews getNewsList];

}

但是现在怎么办?这只会调用该函数而不给我响应,以便我可以将其放入数组并显示在 tableview 中。

最佳答案

我认为问题是 getNewsList 返回了一个 NewsResponse 的实例,您应该将它存储在一个变量中然后使用它。

self.getnews = [[AlchemyDataNews alloc]init];
NewsResponse *newResponse = [self.getnews getNewsList];

// now you can use 'newResponse'
// ...

希望对您有所帮助。

关于swift - 如何在 objective-c 中使用返回值的 swift 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40015699/

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