滚动动态表视图(iOS)时不再初始化全局变量

滚动动态表视图(iOS)时不再初始化全局变量,ios,uitableview,Ios,Uitableview,我有一个UITableView,里面有一个NSArray。不幸的是,这个数组的大小和内容不断变化。因此,我希望创建该数组的全局单个副本(在某个时间点),并使用它填充我的表 这就是我正在做的: h m 然而,当我滚动时,它看起来像是空的,我得到了一个“坏访问”,试图从中获取一个值 当我滚动时,TableView在做什么? 有没有办法让它一次加载整个表 编辑:要解决这个问题,我只使用了属性“myArray”,将其称为“self.myArray”,并忽略了“myArray”。首先,您可能应该使用生成的

我有一个UITableView,里面有一个NSArray。不幸的是,这个数组的大小和内容不断变化。因此,我希望创建该数组的全局单个副本(在某个时间点),并使用它填充我的表

这就是我正在做的:

h

m

然而,当我滚动时,它看起来像是空的,我得到了一个“坏访问”,试图从中获取一个值

当我滚动时,TableView在做什么? 有没有办法让它一次加载整个表


编辑:要解决这个问题,我只使用了属性“myArray”,将其称为“self.myArray”,并忽略了“myArray”。

首先,您可能应该使用生成的setter(这就是它的用途)

首先在哪里初始化该数组


您的
单元格在索引路径
行数部分
代码看起来像什么?如果您有一个正确初始化的数组并正确设置了委托函数,则永远不会收到错误的访问。滚动时,表格视图使用其委托来填充和显示当时所需的单元格。

首先,您可能应该使用生成的setter(这就是它的用途)

首先在哪里初始化该数组


您的
单元格在索引路径
行数部分
代码看起来像什么?如果您有一个正确初始化的数组并正确设置了委托函数,则永远不会收到错误的访问。当您滚动时,表格视图正在使用其委托来填充和显示它当时需要的单元格。

访问self.myArray而不是使用_myArray,并在一些事情上进行切换似乎可以达到目的!访问self.myArray而不是使用_myArray,并在一些事情上进行转换似乎可以奏效!
@interface TableViewController : UITableViewController {
//    ProcessListArrayHolder *processListArrayObject;

    NSArray *_myArray;
}

...

@property(nonatomic,strong) NSArray *myArray;
@synthesize myArray = _myArray;

// in ViewDidLoad
_myArray = [myObject myFunctionThatReturnsAnArray]; //This function returns a different array every time because the data is constantly changing
self.myArray = [myObject myFunctionThatReturnsAnArray];