2011-03-26 2 views
0

У меня есть два вида в моем приложении, обработанные моими 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]; 

} 

ответ

0

Я не могу видеть, где вы Alloc и инициализировать Ваш счет. Вы только объявили его в коде, который вы показываете. Он выделен в вашем RootViewController? is

if (acct != nil) { 
    self.acctInfoViewController.acct = acct; 
} 

получивший название?

+0

Он передается в методе call.- (пустот) Tableview: (UITableView *) Tableview didSelectRowAtIndexPath: (NSIndexPath *) indexPath { счета * счет = [accountTableData objectAtIndex: indexPath.row]; [self editAcctInfo: account]; } –

Смежные вопросы