いつもお世話になっております。
表題の件ですが、他クラスでセットした値を他のクラスで参照したいと考えていますが、NSLogで確認してもnullと表示されてしまいます...
この問題の解決方法がわかる方がおりましたら教えていただけると幸いです。
よろしくお願いいたします。
下記はサンプルコードです。
VIewController.h
objective
1@interface ViewController : UIViewController{ 2 NSString *_hoge; 3} 4@property (nonatomic,retain)NSString *hoge; 5@end 6
VIewController.m
objective
1#import "ViewController.h" 2#import "TestVIew2.h" 3@interface ViewController () 4 5@end 6 7@implementation ViewController 8 9@synthesize hoge = _hoge; 10 11- (void)viewDidLoad { 12 [super viewDidLoad]; 13 14 _hoge = @"TEST"; 15 NSLog(@"_hoge = %@",_hoge); //ここはTESTと表示される 16 UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 17 btn.frame = CGRectMake(50, 100, 100, 30); 18 [btn setTitle:@"ボタン" forState:UIControlStateNormal]; 19 [btn addTarget:self action:@selector(hoge:) 20 forControlEvents:UIControlEventTouchDown]; 21 [self.view addSubview:btn]; 22 23 24} 25-(void)hoge:(UIButton*)button{ 26 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 27 TestVIew2 *testviewcontroller = [storyboard instantiateViewControllerWithIdentifier:@"test2"];// 遷移先のViewControllerをStoryBoardをもとに作成 28 29 [self.navigationController pushViewController:testviewcontroller animated:YES]; //画面をPUSHで遷移させる 30} 31- (void)didReceiveMemoryWarning { 32 [super didReceiveMemoryWarning]; 33 // Dispose of any resources that can be recreated. 34} 35 36@end
TestView2.m
objevctive
1 2#import "TestVIew2.h" 3#import "ViewController.h" 4@implementation TestVIew2 5 6- (void)viewDidLoad { 7 [super viewDidLoad]; 8 9 ViewController* vc = [[ViewController alloc] init]; 10 NSLog(@"test = %@",vc.hoge); //結果がnullになってしまう。 11 12 13}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/11 09:05
2016/01/11 09:39
2016/01/11 09:41
2016/01/11 10:04
2016/01/11 10:37
2016/01/11 11:51
2016/01/13 01:44
2016/01/13 04:13
2016/01/13 04:31
2016/01/13 04:41
2016/01/13 04:46 編集
2016/01/13 04:58
2016/01/13 13:14 編集
2016/01/13 06:01
2016/01/13 12:18