假设您确实希望仅使用这一行设置其他数据源,则需要将其作为数组传递。
view.anotherviewArray= [NSArray arrayWithObject:[self.arrayFromAFNetworking objectAtIndex:indexPath.row]];
但是从您提供的小代码中很难分辨。我假设由于您正在实例化 viewController,因此您也在提供的代码下方过渡到它。如果您尝试为已呈现的 viewController 设置数组,则需要访问该数组,而不是创建另一个数组,可能通过在当前 viewController 或另一个可访问类中保存对它的 ivar 的引用。
我也不会命名 ViewController view
,这会让以后阅读代码的人感到困惑。
编辑下面关于遍历层次结构的评论。这是我在一个 iPad 项目中用于返回最终呈现的 viewController 的一些代码。此方法在 appDelegate 中。它有点特定于我的项目,其中只有一个导航控制器。但是你可以让它适应你的。您将测试属于您的目标视图控制器类的 viewController。
- (UIViewController *)topViewController {
UIViewController *rootViewController = self.window.rootViewController;
UIViewController *topViewController = rootViewController.presentedViewController;
while (topViewController && topViewController.presentedViewController) {
topViewController = topViewController.presentedViewController;
if ([topViewController isKindOfClass:[UINavigationController class]]) {
UIViewController *presentedViewController = [(UINavigationController *) topViewController topViewController];
if (presentedViewController) {
topViewController = presentedViewController;
}
}
}
return topViewController;
}
另一种方法是在创建和呈现时为其设置属性。我们没有足够的代码来全面了解您的应用。您在哪里创建要显示的 ViewController 实例?我的意思是你在哪里调用 segue,或者将它推送到 navigationController 或调用 presentViewController。无论在哪里,您都需要为其设置属性或 ivar。假设您在 appDelegate 中使用一个属性作为一个非常通用的案例。
在您的 MyAppDelegate.h 文件中,您有
@property(nonatomic,strong) ViewController *viewController;
无论你第一次创建它,你设置该属性
MyAppDelegate *appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
appDelegate.viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
我现在认为您正在尝试将其添加到另一个 ViewController 中的 mutableArray 中。然后从上面的 tableViewCell 替换您的代码,您将使用 MyAppDelegate appDelegate = (MyAppDelegate )[[UIApplication sharedApplication] delegate]; [appDelegate.viewController.mutableDataArray addObject:self.arrayFromAFNetworking objectAtIndex:indexPath.row]; [appDelegate.viewController.tableView reloadData];
我会说将 appDelegate 用于属性并不是一个好习惯。但这是一个可行的通用答案。最好将它放在一个类中,该类对于您在其间传递数据的 viewController 是通用的。也许拥有这两个视图控制器的单亲?