Получить int из textField - PullRequest
       2

Получить int из textField

5 голосов
/ 02 февраля 2011

Я новичок в какао.Я создаю проект, где у меня есть один textField и одна кнопка.Я делаю функцию для кнопки, где я запускаю другую функцию, и все в порядке.Но мне нужно взять числовое значение из textField в качестве параметра для моей функции ... вот так:

@implementation AppController

- (IBAction)StartReconstruction:(id)sender {
    int RecLine = //here i need something like textField1.GetIntValue();
    drawGL(RecLine);
}
@end

В IB я создаю только текстовое поле в формате числа.Но я не знаю, как позвонить по коду: (

спасибо за помощь

Ответы [ 6 ]

3 голосов
/ 02 февраля 2011

Вы связали текстовое поле между вашим кодом и IB?Вам необходимо определить ivar и свойство в объявлении @interface, например:

@interface BlahBlah {
    UITextField *textField1;
}
@property (nonatomic, retain) IBOutlet UITextField *textField1;


...
@end

После того, как вы объявили свой ivar и подключили его к текстовому полю в IB (поищите в Google, чтобы узнать как)Вы можете просто позвонить

[textField1.text intValue];

, чтобы получить целочисленное значение строки в текстовом поле (учтите, это быстро и грязно и не проверяет ввод).

2 голосов
/ 02 февраля 2011

вам не нужно сначала получать текстовое значение. NSTextField наследуется от NSControl, который имеет метод intValue, поэтому ...

-(IBAction)buttonClicked:(id)sender
{
    int intVal = [textField intValue];
    NSLog (@"Int value is %i", intVal);
}
1 голос
/ 02 февраля 2011

Вы создали IBOutlet для текстового поля, чтобы вы могли подключить его в Интерфейсном Разработчике? Если нет, то вам нужно добавить экземпляр текстового поля в ваш заголовочный файл и сделать его синтезированным свойством. В вашей шапке:

@interface AppController
{
    NSTextField *myTextField;
}

@property (nonatomic, retain) IBOutlet NSTextField *myTextField;

А в твоей реализации:

@synthesize myTextField;

Затем в IB, удерживая нажатой клавишу Control, перетащите курсор из текстового поля в «Владелец файла». Появится всплывающее меню, и вы сможете подключить его к «myTextField».

Чтобы получить значение типа int, вы должны выполнить:

[myTextField.stringValue intValue]
0 голосов
/ 04 октября 2016

NSString * x = self.textfield1.text;

Int recLine = [x intValue];

0 голосов
/ 02 февраля 2011

Чтобы использовать свойства, вам нужно изменить базовый SDK вашего проекта на OS X 10.5 или выше.Проверьте это меню:

Project > Edit Project Settings > Build > Base SDK 

enter image description here

0 голосов
/ 02 февраля 2011

Вы должны быть в состоянии сделать:


int RecLine = [textField1.text intValue];

Это предполагает, что ваш textField1 имеет что-то, что может быть преобразовано в целое число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...