преобразование тега UITextField в строку - PullRequest
0 голосов
/ 09 января 2012

это дает мне ошибку "Bad Reciever type" NSIntegar "(он же" int ").

    NSString *tempTag = [((UITextField *)[self.dataSetDictionary objectForKey:key]).tag stringValue];

пытается ввести тег uitextfield в строку. я могу использовать [NSString stringWithFormat] отлично, просто не могу понять, почему этот способ не будет работать.

Ответы [ 3 ]

4 голосов
/ 09 января 2012

Вы должны использовать stringWithFormat:

UITextField *textField = (UITextField *)[self.dataSetDictionary objectForKey:key];
NSString *tempTag = [NSString stringWithFormat:@"%d", textField.tag];

просто не могу понять, почему этот способ не сработает.

Потому что tag является скалярным целым числом, а не объектом. Вы не можете отправлять сообщения типа stringValue не объектам.

2 голосов
/ 09 января 2012

tag является свойством объекта UIView типа данных NSInteger. Вы не можете передавать ему сообщения. stringValue должен быть вызван на NSNumber. Что вы должны делать, это

NSString *tempTag=(NSString*)[[NSNumber numberWithInt:[(UITextField*)[self.dataSetDictionary objectForKey:key] tag]] stringValue];
0 голосов
/ 09 января 2012

NSIntegers не являются объектами

подробнее

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