Установка значения UITextField в IBAction - PullRequest
0 голосов
/ 25 апреля 2011

Я пытаюсь использовать UITextField в качестве вывода для простого шифрования. Поле начинается с нулевой строки (его поведение по умолчанию), и я пытаюсь обновить его в действии encryptButtonPressed:. Я знаю, что получаю хороший NSString в зашифрованный текст, и я не получаю никаких ошибок, предупреждений или чего-либо, что метод не существует, но поле остается пустым. Есть идеи?

Вот заголовок:

@interface FirstViewController : UIViewController <UITextFieldDelegate> {


    IBOutlet UITextField *affineKeyField;
    IBOutlet UITextField *shiftKeyField;

    IBOutlet UITextField *messageField;
    IBOutlet UITextField *ciphertextField;

    MAAffineMachine* machine;
}

@property (nonatomic, retain) UITextField *affineKeyField;
@property (nonatomic, retain) UITextField *shiftKeyField;

@property (nonatomic, retain) UITextField *messageField;
@property (nonatomic, retain) UITextField *ciphertextField;


@property (nonatomic, retain) UIButton *encryptButton;
@property (nonatomic, retain) UIButton *clipboardButton;

- (IBAction)encryptButtonPressed:(id)sender;
- (IBAction)clipboardButtonPressed:(id)sender;

@end

И действие, определенное в реализации контроллера:

- (IBAction)encryptButtonPressed:(id)sender {
    NSLog(@"Encrypt Button pushed.\n");
    int affine = [[affineKeyField text] intValue];
    int shift = [[shiftKeyField text] intValue];
    NSString* message = [messageField text];
    NSLog(@"%d, %d, %@", affine, shift, message);
    NSString* ciphertext = [machine encryptedStringFromString:message
                                                    ForAffine:affine
                                                        Shift:shift];
    NSLog(@"%@\n", ciphertext);
    [[self ciphertextField] setText: ciphertext];
}

Ответы [ 2 ]

0 голосов
/ 25 апреля 2011

Если ciphertext имеет правильное значение, вы должны убедиться, что ciphertextField правильно связано в конструкторе интерфейса.

0 голосов
/ 25 апреля 2011

Попробуйте [[self ciphertextField] setText: зашифрованный текст] -> [ciphertextField setText: зашифрованный текст] или cipherTextField.text = зашифрованный текст;

...