我是 iphone 应用程序开发的新手,我被困在我正在尝试开发的应用程序中遇到的这个问题上。
我有一个用于填充表格视图的数据控制器。我使用本教程创建了它: 关于创建您的第二个 iOS 应用程序
我正在尝试从我的一个视图控制器传递一个数组,该数组是从 JSON 响应创建的。
这是我的 viewcontroller.h 中需要传递数组的一些代码:
@interface ViewController : UIViewController
@property (nonatomic, retain) DataController *Data;
@property (nonatomic, retain) NSMutableArray *array;
@end
视图控制器.m:
#import "DataController.h"
[Data setMasterList: self.array];
数据控制器.h:
@interface DataController : NSObject
@property (nonatomic, strong) NSMutableArray *masterList;
- (void)setMasterList:(NSMutableArray *)newList;
@end
数据控制器.m
#import "LoginViewController.h"
- (void)setMasterList:(NSMutableArray *)newList {
if (_masterList != newList) {
_masterList = [newList mutableCopy];
NSLog("List: %@", newList);
}
}
NSLog 消息永远不会出现在控制台中,并且数组为零。
任何帮助表示赞赏。
谢谢。
编辑:
这是更新后的 viewcontroller.m:
Data = [[DataController alloc] init];
[Data setMasterList: self.array];
数据控制器.m:
- (void)setMasterList:(NSMutableArray *)newList {
if (_masterList != newList) {
_masterList = [newList mutableCopy];
NSLog("List: %@", self.masterList);
}
}
- (NSUInteger)countOfList {
NSLog("List: %@", self.masterList);
return [self.masterList count];
}
setMasterList 中的第一个 nslog 返回正确的数组值,但 countOfList 中的第二个 nslog 返回 null。该列表始终在 setMasterList 之外的任何位置返回 null。是因为我正在创建 DataController 的新实例吗?如果是这样,我怎么能将数组传递给数据控制器。