这是一个很宽泛的问题,一般不适合StackOverflow,后者是针对更多“粒度问题”的。
也就是说,我建议创建一个名为 DataManager 或类似名称的类。在进行 API 调用方面,我建议使用 Alamofire 之类的东西来进行 API 调用。最后,我建议阅读 Codable protocol 以解码 API 发回的 JSON。解码 JSON 时,您需要将结构存储在视图控制器可以看到的位置。
要使用 CocoaPods,here's a good primer(您可以将它们用于 Alamofire)。
您的数据管理器看起来像这样(为简单起见,我将使用 NSObject,但您可以创建自己的类):
struct Shows: Codable {
// Whatever the API sends back, you've got to map it here
}
class DataManager: NSObject {
var shows: [Shows] = [] // empty array of shows to start
func methodToGetAPIResponse() {
// Alamofire call & JSON decoding here
// Once you get a valid response, shows = try JSONDecoder().decode...
}
}
你可以在你的视图控制器类中为你的DataManager 做这样的事情:
let dataManager = DataManager()
然后,在您的 UITableViewDataSource 方法中,numberOfRowsAtIndexPath 将是 return dataManager.shows.count 和 cellForRowAtIndexPath,您将获得对象以填充您的标签,如下所示:
let show = dataManager.shows[indexPath.row]
无论如何,这应该足以让您入门。祝你好运!以后尽量细化您的问题。