将`valueForKey`检索为字符串

时间:2012-05-19 02:13:16

标签: objective-c xcode

我有一个NSArray,其中包含三个带有相应值的键...当我使用方法valueForKey:检索键的值时,我会在NSLog()上找到它:

2012-05-18 21:59:52.176 ScrollApp[21443:f803] value for key is(
    "Image 4"
)

这正是我在plist上设置的值。

但是如果我将这些值分配给标签文本,编译器就会抱怨unrecognized selector sent to instance

我知道我必须将数组的返回值作为字符串检索并将其传递给标签。

问题是如何?

这是代码:

NSArray *imgList = [[NSArray alloc]initWithContentsOfFile:path];
NSArray *imgName = [[NSArray alloc] initWithObjects:[imgList objectAtIndex:3], nil];

NSLog(@"%@", [imgName valueForKey:@"Details"]);

NSString *currentPic = [imgName valueForKey:@"Details"];

subPanel.small_panel_Detail_Lbl.text =  currentPic;

1 个答案:

答案 0 :(得分:2)

发送到数组时,

valueForKey返回数组中包含该键的所有值的数组 - 它可能只是一个值,但它将在一个数组中。如果你记录[currentPic class],我猜它会是一个数组,所以你需要发送objectAtIndex来获取一个字符串