2012-01-11 2 views
2
cell.textField.text = [contact valueForKey:formCell.variableName]; 

valueForKey, который я получаю от неизвестного типа, это может быть NSNumber, целый, дробный, NSString ..Преобразование любого типа данных NSString

Я хочу, чтобы преобразовать значение NSString.

с помощью NSString stringWithFormat, следует указать спецификатор формата, тип объекта известен во время выполнения

+1

контакт NSdictionary .. ?? – userar

ответ

4
  1. valueForKey: никогда не вернется int или float. Вместо этого он обернет их в NSNumber s. Подробности here.

  2. Таким образом, вы можете использовать "%@", чтобы представить их в stringWithFormat:.

  3. Вы также можете использовать метод descriptionNSObject следующим образом: [[contact valueForKey:formCell.variableName] description].

+0

Интересно о NSNumber. Конечный код в моем случае '[NSString stringWithFormat: @"% @ ", [dict valueForKey: @" key "]]' –

-1
cell.textField.text = [NSString stringWithFormat:@"%@",[contact valueForKey:formCell.variableName]]; 
+0

Вы также можете использовать метод описания NSObject следующим образом: [[contact valueForKey: formCell.variableName] description]. – Hanuman

3

Там в -description сообщение, которое работает на любом объекте происходят от NSObject:

cell.textField.text = [[contact valueForKey:…] description]; 

Использование спецификатор формата %@ вызывает -description в фоновом режиме, так что два в основном эквивалентны, только прямой вызов -description короче и, вероятно, более эффективен.

1

вы можете попробовать использовать метод описания:

cell.textField.text = [[contact valueForKey:formCell.variableName] description]; 

обычно, она реализована в виде строки, представляющее значение объекта

1

описание: это метод, который вы можете вызвать в любом NSObject, который должен вернуть текст описания NSString *.

http://developer.apple.com/library/mac/ipad/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html

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

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