问题:无法在表视图单元格中显示来自App Delegate的数组数据
回答:
在iOS开发中,如果想要在表视图的单元格中显示来自App Delegate的数组数据,可以按照以下步骤进行操作:
@property (nonatomic, strong) NSArray *dataArray;
在App Delegate的.m文件中,可以在application:didFinishLaunchingWithOptions:
方法中初始化和填充数据,例如:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 其他初始化代码...
self.dataArray = @[@"数据1", @"数据2", @"数据3"];
// 其他代码...
return YES;
}
[[UIApplication sharedApplication] delegate]
来访问App Delegate的实例。例如,在表视图控制器的.m文件中添加以下代码:#import "AppDelegate.h"
// 其他代码...
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CellIdentifier" forIndexPath:indexPath];
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSString *data = appDelegate.dataArray[indexPath.row];
cell.textLabel.text = data;
return cell;
}
// 其他代码...
在上述代码中,我们通过[[UIApplication sharedApplication] delegate]
获取到App Delegate的实例,然后可以使用appDelegate.dataArray
来访问数组数据,并将数据显示在表视图的单元格中。
需要注意的是,为了正确显示数据,你还需要在表视图的数据源方法中返回正确的行数,例如:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
return appDelegate.dataArray.count;
}
这样,表视图就能够正确地显示来自App Delegate的数组数据了。
推荐的腾讯云相关产品:腾讯云移动开发平台(https://cloud.tencent.com/product/mmp)
希望以上回答能够帮助到你,如果有任何问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云