我向 viewController 发送了一个 NSString,尝试从另一个 viewController 记录它,结果它变成了 null。我的代码如下
编辑:我删除所有代码并从我的应用程序中显示我的代码。因为我仍然得到 (null)
习惯视图控制器.h
#import <UIKit/UIKit.h>
@interface HabitViewController : UITableViewController {
NSString *cellName2;
}
@property(nonatomic,retain) NSString *cellName2;
@end
习惯视图控制器.m
@synthesize cellName2;
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"%@",cellName2);
}
DetailViewController.h
#import <UIKit/UIKit.h>
@interface DetailViewController : UIViewController {
NSString *cellName;
}
@property(nonatomic,retain) NSString *cellName;
@end
细节视图控制器.m
#import "DetailViewController.h"
#import "HabitViewController.h"
@end
@implementation DetailViewController
@synthesize cellName;
#pragma mark - Managing the detail item
- (void)viewDidLoad
{
[super viewDidLoad];
cellName = @"Hello World";
HabitViewController *obj = [[HabitViewController alloc] init];
obj.cellName2 = cellName;
}
我遗漏了很多代码,因为它们与我的问题无关。
编辑
根据 Jsdodgers 的评论和回答,我更新了我的问题:
habitViwController.h
#import <UIKit/UIKit.h>
@interface HabitViewController : UITableViewController {
}
@property(nonatomic,retain) NSString *cellName2;
@end
.m
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"%@",self.cellName2);
}
DetailViewController.h
#import <UIKit/UIKit.h>
@interface DetailViewController : UIViewController {
}
@property(nonatomic,retain) NSString *cellName;
@end
.m
@synthesize cellName;
- (void)viewDidLoad
{
[super viewDidLoad];
cellName = @"Hello World";
HabitViewController *obj = [[HabitViewController alloc] init];
obj.cellName2 = self.cellName;
[self configureView];
}
但我仍然没有任何成功。仍然说(空)