我有一个从 sqlite 表中读取数据并将数据保存在 NSMutableArray 中的应用程序,该 NSMutableArray 在 UIViewController 的主 ViewController 类子类中声明,此方法在 viewDidLoad 处调用。这个 NSMutable 数组声明如下:
@property (strong, nonatomic) NSMutableArray *dataForTable;
此数据显示在一个表格中,该表格在应用启动时加载良好。现在我声明一个方法来记录这个 NSMutableArray 的内容
-(void) arrayTest {
NSLog(@" data in test array is%@",dataForTable);}
当我在这个类中的任何地方调用它时输出也很好,例如在
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
[self arrayTest]; . . . . . . }
但是当我从另一个类调用日志时,这个 NSMutableArray 中的数据突然变为(null)(创建 UITableViewCell 的子类以跟踪 touchbegan 和 touchmoved 以从左到右滑动单元格)
[[ViewController alloc]arrayTest];
这给了我输出
data in test array is(null)
这是为什么?现在,如果我调用 -textFieldShouldBeginEditing 输出又可以了。为什么数组自己清空(或者我只是认为它会清空)然后稍后再次输出内容?