我有一个来自URLEmbeddedView的类,它对给定的String执行操作。但是,我试图将这个class
用于一堆字符串之后,而不仅仅是一个字符串。我准备了Array
String
,现在我想在Array
的每个元素上执行此类。
代码:
var linkArray = [String]() //Contains bunch of Elements
OGDataProvider.sharedInstance.fetchOGData(urlString: TheUrlString) { [weak self] ogData, error in
if let _ = error {
return
}
let pageTitle = ogData.pageTitle
Cell.titleLabel.text = pageTitle
}
因此我想要拥有我的数组而不是TheUrlString
,因为我需要该数组中每个元素的pageTitle。我怎么能做到这一点?是否可以使用if循环遍历每个元素?
答案 0 :(得分:1)
您可以尝试这样
func fetchTitleOGData(index: Int) {
if (index < linkArray.count) {
OGDataProvider.sharedInstance.fetchOGData(urlString: linkArray[index]) { [weak self] ogData, error in
if let _ = error {
//Try again to fetch title
fetchTitleOGData(index)
}
else {
titleArr.append(ogData.pageTitle)
fetchTitleOGData(index + 1)
}
}
}
else {
//All the title set do what you want.
}
}
现在调用此函数,如
self.fetchTitleOGData(0)