Objective-C – 从不同类别访问属性

所以在我的VC1.h我得到了:

 @property (weak, nonatomic) IBOutlet UIButton *monthly; 

这连接到一个连接到VC1类的视图上的button。 如何在另一个类中访问此button的.enabled属性?

编辑:

我有一个类连接到一个tableview。 当在tableview中select一个特定的行时,我想在我的主类中禁用一个button。 我只需要知道如何获得button的当前状态并在另一个类中禁用它。

从button的IBaction:

 - (IBAction)monthly:(id)sender { [monthly setSelected:YES]; yearly.enabled = YES; if([monthly isSelected]) { NSLog(@"monthly ON"); [yearly setSelected:NO]; monthly.enabled = NO; _dateSpecifiedYearButton.hidden = TRUE; _dateSpecifiedYearButton.enabled = NO; _dateSpecifiedButton.hidden = FALSE; _dateSpecifiedButton.enabled = YES; } } 

Tableview.m:

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [popoverSpending dismissPopoverAnimated:YES]; UITableViewCell *cell = (UITableViewCell *)[tableView cellForRowAtIndexPath:indexPath]; if([self.delegate respondsToSelector:@selector(spendingButtonText:)]) { [self.delegate spendingButtonText:cell.textLabel.text]; } if (indexPath.row == 2) { NSLog(@"2"); ViewController *vc = [[ViewController alloc] init]; if (vc.monthly.enabled) { vc.monthly.enabled = NO; vc.yearly.enabled = NO; } } [self dismissViewControllerAnimated:YES completion:nil]; } 

所以上面是代码的这个问题的重要部分。

 VC1 *vc = [[VC1 alloc] init];//Allocate VC1 in appDelegate, if you allocate VC1 in VC2, then it allocates new instance. AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplication] delegate]; if (app.vc.monthly.enabled)//chk button state { }