0

iOSプログラミング初心者です。問題があります。私はMasterViewController、以下のコードを持っています

#import "MasterViewController.h"

#import "DetailViewController.h"

@interface MasterViewController () {

}

@property (strong, nonatomic) NSString *str;
@end

@implementation MasterViewController

- (void)awakeFromNib
{
    [super awakeFromNib];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.str = @"1234";
}

プロパティ「str」を DetailViewController に送信します。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showDetail"]) {
        NSString *object = self.str;
        [[segue destinationViewController] setDetailItem:object];
    }
}

その後、strを変更します

#import "DetailViewController.h"

@interface DetailViewController ()
@end

@implementation DetailViewController

- (void)setDetailItem:(id)newDetailItem
{
    if (_detailItem != newDetailItem) {
        _detailItem = newDetailItem;


    }
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.detailItem = @"1233";
} 

その後、MasterViewControllerに戻ってきましたが、strは変わりません。なんで?

4

1 に答える 1