我很难将变量从一个类文件传递到另一个类文件。我已经尝试过全局变量创建者 extern,但这也不起作用。
具体来说,我正在尝试将我创建的新类文件中的变量传递给NDSClassSiteViewController
主控制器NDSClassMasterViewController
。
我已将@property 添加到 .h 文件中,如下所示:
@interface NDSClassSiteViewController : UITableViewController {
NSArray *sitesMenu;
}
@property (nonatomic, retain) NSString *siteid;
@end
然后将@synthesize 放入.m 文件中,如下所示:
#import "NDSClassSiteViewController.h"
#import "NDSClassMasterViewController.h"
@interface NDSClassSiteViewController () {
NSMutableArray *_objects;
}
@end
@implementation NDSClassSiteViewController
@synthesize siteid;
我在 .m 文件中设置变量如下:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"showMenu"]) {
NSInteger row = [[self tableView].indexPathForSelectedRow row];
//NSArray *appcell = [sitesMenu objectForKey:@"Table"];
NSLog(@"AppCell %@", sitesMenu);
NSDictionary *entry = [sitesMenu objectAtIndex:row];
self.siteid = [entry objectForKey:@"SITEID"];
NSLog(@" sample SiteView %@", siteid);
//NDSClassMasterViewController *detailController = segue.destinationViewController;
//detailController.detailItemTwo = siteid;
}
}
然后我尝试使用以下命令在主视图控制器中访问它:
- (void)viewDidLoad
{
[super viewDidLoad];
globalid = siteid;
}
但我收到一个错误:use of undeclared identifier siteid
我真的不知道为什么它不允许我使用变量?我错过了什么吗?