从目标c中的字符串数组中获取简单值

时间:2016-06-23 08:12:42

标签: ios objective-c

我的代码就像......

NSString *str=[arrInitiatives valueForKey:@"FileName"];
NSLog(@"file name ----> %@",str);

 NSString *imageUrl = [NSString stringWithFormat:@"%@%@", PUBLIC_UTILITY_FORMS_URL,str];
 NSLog(@"----> %@",imageUrl);
[_image_imageview setImageWithURL:[NSURL URLWithString:imageUrl] placeholderImage:[UIImage imageNamed:@"noimage.png"]];
//http://setupolice.org/brcsetu/UploadFile/Lighthouse4908.jpg

从这段代码中,我将得到这个

file name ----> (
    "Lighthouse4908.jpg"
)

 ----> http://setupolice.org/brcsetu/UploadFile/(
    "Lighthouse4908.jpg"
)

I want this   

----> http://setupolice.org/brcsetu/UploadFile/Lighthouse4908.jpg

2 个答案:

答案 0 :(得分:0)

试试这个

NSString *str=[[arrInitiatives valueForKey:@"FileName"] objectAtIndex:0];

此致

阿米特

答案 1 :(得分:0)

使用代码

创建 str 变量时
NSString *str=[arrInitiatives valueForKey:@"FileName"];

实际上它并没有返回 NSString 对象,而是 NSArray 对象。这就是为什么文件名在日志中的括号内的原因:

file name ----> (
"Lighthouse4908.jpg"
)

如果您确定数组中始终存在文件名,您可以尝试@Amit Kalghatgi在答案中提出的建议。

问题是,当此数组为空时,您将在执行此代码时遇到错误。我宁愿做这样的事情:

NSArray *filenames = [arrInitiatives valueForKey:@"FileName"];
NSString *str = nil;
if (filenames.count) {
    str =[arrInitiatives valueForKey:@"FileName"];
}
NSLog(@"file name ----> %@",str);

当然在创建 imageUrl 之前,您必须检查 str 是否为零。