使用数组填充UITableView

时间:2015-09-05 19:29:45

标签: ios objective-c uitableview

我正在创建一个数组。该阵列是来自网站的数据。我必须从中删除一些东西并对其进行处理(基本上是公司信息,我将其删除到每个州中的一个)。

$("#first-choice").change(function _optionHandler() { var userSelected = $(this).val(); var second = $('#second-choice'); if(typeof _optionHandler.oldOption != 'undefined') { $("<option/>", { text: _optionHandler.oldOption.text, value: _optionHandler.oldOption.value }).appendTo(second); delete _optionHandler.oldOption; } var otherOption = $('#second-choice > option[value!="' + userSelected + '"]').get(0); second.get(0).selectedIndex = otherOption.index; var optionToRemove = $('#second-choice > option[value="' + userSelected + '"]'); _optionHandler.oldOption = { text: optionToRemove.text(), value: optionToRemove.val() } optionToRemove.remove(); }); 是我想要在表格视图中显示的数组。我可以在fetchedData语句中记录它。但无法将其纳入tableview。我在表视图日志的日志中得到了几个null响应。为什么?我知道我错过了什么。请帮忙。

allStatesFinalArray

1 个答案:

答案 0 :(得分:2)

你的代码混乱了。您有一个在两个方法之间声明的变量:

////new code???
NSArray* allStatesFinalArray;

这使它成为一个应用程序全局变量,这很糟糕。

您有两个名为allStatesFinalArray的变量;应用程序全局,应该是一个实例变量,以及fetchData中的一个本地变量,根本不存在。

将该变量声明移动到视图控制器类的标题:

@interface StateTableViewController()
{
  NSArray* allStatesFinalArray;
}
@end

这使它成为一个实例变量。

现在更改fetchData方法以不返回结果:

- (void)fetchedData:(NSData *)responseData

另外,摆脱allStatesFinalArray内局部变量fetchData的装饰。让fetchData方法将其结果保存到allStatesFinalArray实例变量中。

现在,作为fetchData方法的最后一行,请调用表格视图的reloadData方法。