0
我有一個int pageNumber設置,就像我試圖在兩個視圖控制器之間傳遞@property (nonatomic, assign) int pageNumber;
一樣。iOS - 在視圖控制器之間傳遞int
它第一次在桌面視圖中點擊一個單元格,但是如果我再次點擊一個單元格,int不會被更新。
任何想法?我的代碼如下。
LeftMenuViewController.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone"
bundle: nil];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
SoftwareCheckViewController *sc = [[SoftwareCheckViewController alloc] init];
if ([cell.textLabel.text isEqual: @"S:1 R:0"]) {
sc = [mainStoryboard instantiateViewControllerWithIdentifier: @"SoftwareCheckViewController"];
sc.pageNumber = 1;
}
else if ([cell.textLabel.text isEqual: @"S:1 R:1"]) {
sc = [mainStoryboard instantiateViewControllerWithIdentifier: @"SoftwareCheckViewController"];
sc.pageNumber = 2;
}
else if ([cell.textLabel.text isEqual: @"S:1 R:2"]) {
sc = [mainStoryboard instantiateViewControllerWithIdentifier: @"SoftwareCheckViewController"];
sc.pageNumber = 3;
}
[[NSNotificationCenter defaultCenter] postNotificationName:@"pageNumberNotification" object:self];
}
SoftwareCheckViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pageNumberMethod) name:@"pageNumberNotification" object:nil];
}
- (void)pageNumberMethod{
NSLog(@"pageNumber: %i", pageNumber);
}
謝謝,我想我明白了,關於如何解決這個問題的任何想法? – Sami
如果它們是相關的,或者與任何共同的東西有關,你可以創建你的'LeftMenuViewController'並引用現有的'SoftwareCheckViewController'。或者,你可以爲你想要的頁面創建一個'NSNumber',並使其成爲接收者可以提取它的通知(object或userInfo)的一部分。你甚至可以將它作爲'LeftMenuViewController'的一個屬性,你當前傳遞的屬性是通知對象。 –