UIPickerView输出到UITextField的无关字符

时间:2015-08-02 17:19:24

标签: ios objective-c core-data uipickerview

我有一个UIPickerView用于列出CoreData实体的数据。数据输出总是包含实体的属性名称和我认为是CoreData格式的无关字符;例如,以下是NSLog输出我看起来像:

NSLog(@"%@",roomNames);

output:
(
        {
        roomName = "Living Room";
    }
)

以下是我用于从选择器视图中提取数据的代码:

- (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    NSString *resultString = [[NSString alloc] initWithFormat:@"%@",[roomNames objectAtIndex:row]];
    roomTxt.text = resultString;

}

我无法确定字符的来源或如何从输出中删除它们。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

罪魁祸首就是这条线。

NSString *resultString = [[NSString alloc] initWithFormat:@"%@",[roomNames objectAtIndex:row]];

%@调用对象的descriptionWithLocale:或description:方法。它不是用于获取对象的字符串值,而是用于字符串形式的描述。看起来它只是记录所有属性的名称/密钥对。

  

描述方法由NSObject实现,以返回对象的类和内存地址,但许多Cocoa和Cocoa Touch   类覆盖它以提供更有用的信息。   (来自Working With Objects

您需要属性的值。从roomNames中提取了什么类型的对象?