在 UITableViewController 中,我尝试这样做:
在界面中:
@property (nonatomic, strong) NSMutableArray *tickets;
实现中
for(NSString *t in [SharedPreferences getTickets]){
[[TicketListManager sharedManager] ticket:^(Ticket *sc) {
[self.tickets addObject:sc];
[self.tableView reloadData];
NSLog(@"ticket %d", self.tickets.count);
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"error");
} ticket:ticketId];
}
虽然所有对象都已成功加载(我记录了它们),但票数始终为 0,因此我的表不会更新。任何想法为什么对象没有保存到数组中?我在 xcode 5、iOS7 和 restkit 0.20.3
最佳答案
很可能 self.tickets
没有初始化。设置:
self.tickets = [NSMutableArray array];
当您创建 Controller 时。
另外:您的方法 ticket:failure:ticket:
不是很清楚,作为 getTicketWithId:success:failure:
会更好。
另一点:在循环中启动网络连接时要小心,因为你可能会淹没网络。您可能希望通过编辑 http 客户端的队列来限制并发连接。
关于ios - 使用 restkit 循环发出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22879466/