あるクラス ファイルから別のクラス ファイルに変数を渡すことが困難です。グローバル変数クリエーター 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
変数を使用できない理由がよくわかりません。何か不足していますか?