Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.95
kvakvit
0 / 0 / 1
Регистрация: 13.10.2013
Сообщений: 37
#1

Числа из TextField в CGFloat - Objective-C

21.12.2013, 14:47. Просмотров 2650. Ответов 24
Метки нет (Все метки)

Здравствуйте.
Пользователь вводит числа в поле, мне нужно сохранить эти значения в перменные типа CGFloat. Как можно сделать? Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2013, 14:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Числа из TextField в CGFloat (Objective-C):

TextField
помогите плз ... есть 3 текст филда IBOutlet UITextField *q1; IBOutlet...

AlertView и TextField
Здравствуйте, у меня есть таблица с кастомными ячейками, и alertview который...

Данные из TextField в динамичной таблице
Добрый день. У меня есть таблица, количество ячеек которой может изменятся. В...

Изменение TextField в CollectionView с использованием биндов
Помогите пожалуйста разобраться с некоторыми полями в Binding Inspector! ...

TextField и числа
btnstart.addActionListener(new ActionListener() { public void...

Textfield и числа
Здравствуйте. Подскажите как сделать. Есть два textfield. В один мы вводим...

24
kvakvit
0 / 0 / 1
Регистрация: 13.10.2013
Сообщений: 37
25.12.2013, 22:26  [ТС] #21
Цитата Сообщение от Xavier Посмотреть сообщение
Скинь тогда весь код цикла для большей информативности, ибо не понятно как textField зависит от i.
textField`ы лежат в массиве, на каждом шагу переменная textField является указателем на один из них.
0
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
25.12.2013, 23:20 #22
Чем такой огород городить, проще написать
Objective-C
1
2
3
float1 = [fields[0].text floatValue];
float2 = [fields[1].text floatValue];
float3 = [fields[2].text floatValue];
И кода меньше, и работает он быстрее. Говнокодить, так хоть оптимально
0
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
26.12.2013, 13:33 #23
Ради интереса попробовал реализовать все через KVO.

Сделал так:
1) создал 2 TextField-a в IB (можно и больше не суть важно)
2) соединил их все с outlet collection:

Objective-C
1
@property (strong, nonatomic) IBOutletCollection(UITextField) NSArray *tf;
3) так-же создал у моего контролера property NSMutableArray (туда складываются значения наших чисел введенных пользователем) :
Objective-C
1
2
3
4
5
@interface MYViewController ()
 
@property(nonatomic,strong)NSMutableArray *floats;
 
@end
4) в методе viewDidLoad моего контроллера назначил объекты массива floats наблюдателями за изменениями в textField
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.floats=[[NSMutableArray alloc]init];
    [self.tf enumerateObjectsUsingBlock:^(UITextField* obj, NSUInteger idx, BOOL *stop) {
        NSMutableString *fl=[[NSMutableString alloc]initWithFormat:@"%d",0];
        [self.floats addObject:fl];
        [obj addObserver:self.floats[idx] forKeyPath:@"text.floatValue" options:NSKeyValueObservingOptionNew context:nil];
    }];
    
    NSLog(@"done");
    // Do any additional setup after loading the view, typically from a nib.
}
Кстати оказалось что NSNumber я не могу использовать так как он immutable, так что пришлось для хранения чисел использовать NSMutableString.

5) добавил категорию для NSMutableString для отлова изменений
Objective-C
1
2
3
4
5
6
7
8
@implementation NSMutableString (observe)
 
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
    NSNumber *newNumber=change[@"new"];
    [self setString:[NSMutableString stringWithFormat:@"%@",newNumber]];
}
 
@end
В итоге получаем массив с NSMutableString из них берем floatValue и получаем наши float числа для каждого textField которые потом можно использовать в вычислениях как угодно. И они автоматически изменяются если пользователь ввел новые числа в поле.

Как вариант ТС может использовать этот способ для "отлова" введенных пользователем чисел и дальнейшее их использование.

Интересует также мнение других целесообразно ли вообще использовать такой способ?
0
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
26.12.2013, 13:48 #24
Xavier, спасибо, порадовали.
KVO, Outlet collection etc. И все это для ответа на вопрос под заголовком "Числа из TextField в CGFloat". Ну учитывайте же уровень знаний собеседника ))))
Кстати,
Цитата Сообщение от Xavier Посмотреть сообщение
оказалось что NSNumber я не могу использовать так как он immutable
Кто мешает заменять их в Mutable Array? replaceObjectAtIndex:withObject: отменили?
0
Xavier
in god we trust
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
26.12.2013, 13:51 #25
Цитата Сообщение от mobidevelop Посмотреть сообщение
спасибо, порадовали.
Ну хоть что то

Цитата Сообщение от mobidevelop Посмотреть сообщение
Кто мешает заменять их в Mutable Array? replaceObjectAtIndex:withObject: отменили?
чето я про это запамятовал
0
26.12.2013, 13:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2013, 13:51
Привет! Вот еще темы с решениями:

Вывести числа в цикле на TextField
Здравствуйте! Подскажите пожалуйста как вывести несколько чисел в цикле на...

Из TextField в ArrayList и в другой TextField
JButton btnAdd = new JButton("Добавить"); btnAdd.addActionListener(new...

TextField
Всеп привет, интересует решение такой несложной проблемы: как с...

Scroll и textField
Всем доброй ночи. Знающие люди, подскажите пожалуйста, можно ли добавить scroll...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru