У меня есть два вида в моем приложении, обработанные моими RootViewController
и AccountInfoViewController
.Настройка UITextField Text
Мой AccountInfoViewController
выглядит следующим образом:
#import <UIKit/UIKit.h>
#import "Account.h"
@interface AccountInfoViewController : UIViewController {
IBOutlet UITextField *acctName;
IBOutlet UITextField *acctBalance;
Account *acct;
}
@property (nonatomic, retain) UITextField *acctName;
@property (nonatomic, retain) UITextField *acctBalance;
@property (nonatomic, retain) Account *acct;
-(void) saveAccountInfo;
@end
В моей RootViewController
я это делаю:
- (void)editAcctInfo:(Account *)acct {
if (self.acctInfoViewController == nil) {
AccountInfoViewController *a = [[AccountInfoViewController alloc]
initWithNibName:@"AccountInfoViewController"
bundle:[NSBundle mainBundle]];
self.acctInfoViewController = a;
[a release];
}
if (acct != nil) {
self.acctInfoViewController.acct = acct;
}
//Hide Toolbar
[toolbar removeFromSuperview];
[self.navigationController pushViewController:self.acctInfoViewController
animated:YES];
}
Вот мой viewDidLoad
метод моего AccountInfoViewController
:
- (void)viewDidLoad
{
UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] initWithTitle:@"Save"
style:UIBarButtonItemStylePlain
target:self
action:@selector(saveAccountInfo:)];
acctBalance.text = acct.balance.accessibilityValue;
acctName.text = acct.name.accessibilityValue;
//acctName.text = @"Test Text";
self.title [email protected]"Edit Account";
self.navigationItem.rightBarButtonItem = saveButton;
[super viewDidLoad];
}
Когда я запустите это, я ничего не получаю в своем UITextFields
с моей точки зрения. Если я раскомментирую строку с «тестовым текстом», это кажется прекрасным на мой взгляд, поэтому я знаю, что у меня есть часть права. При отладке я могу видеть значения под acct. Когда я на самом деле нависаю над текстом acct в коде, я получаю «Invalid Summary» для всех значений.
Любая идея, что я делаю неправильно, или если есть лучший способ сделать это? Я знаю, что это проблема, связанная с тем, как я устанавливаю свойство acct в моем AccountInfoViewController
.
Это, как я называю выше editAcctInfo
метод:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
Account *account = [accountTableData objectAtIndex:indexPath.row];
[self editAcctInfo:account];
}
Он передается в методе call.- (пустот) Tableview: (UITableView *) Tableview didSelectRowAtIndexPath: (NSIndexPath *) indexPath { счета * счет = [accountTableData objectAtIndex: indexPath.row]; [self editAcctInfo: account]; } –