将视图控制器属性数据传递给另一个视图控制器的最有效方法是什么?

时间:2014-12-09 22:02:06

标签: ios objective-c iphone

我有一个视图控制器,它包含一个我想传递给另一个视图控制器的属性

查看控制器A:

@interface StackTableViewController () <NSFetchedResultsControllerDelegate>

@property (nonatomic, strong) NSFetchedResultsController *fetchedResultController;
@property (nonatomic, strong) Target *current;

@end

@implementation StackTableViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    [self.fetchedResultController performFetch:nil];
    NSIndexPath *indexPath = [NSIndexPath indexPathForItem:0 inSection:0];
    Target *record = [self.fetchedResultController objectAtIndexPath:indexPath];

    self.current = record;
}

现在我希望另一个视图控制器能够获取目标属性值。 就像它的NSString body属性一样。

应如何做到这一点?

我应该在另一个视图控制器(视图控制器B)中查看控制器属性吗?我该怎么做?

感谢

2 个答案:

答案 0 :(得分:0)

我会将属性添加到视图控制器B,并在创建视图控制器B后分配它:

ViewControllerB *vc = [[ViewControllerB alloc] init];
[vc setProperty:value];

答案 1 :(得分:-1)

如果您希望每次登录时都在应用程序中修复该属性,则可以将该属性存储在NSUserDefaults中,或者如果您每次都使用其新实例,则可以将其存储在应用程序委托中并访问应用程序中的任何位置。