Objective C 连接键
Posted
技术标签:
【中文标题】Objective C 连接键【英文标题】:Objective C concatenation keys 【发布时间】:2018-01-23 16:32:15 【问题描述】:我正在尝试使用 _valueForKeyPath_
获取缩略图 url,但我的 json 有一个字典,其中路径和扩展名是分开的。我不知道如何在valueForKeyPath
中同时拥有路径和扩展名。有什么帮助吗?
我尝试查看this,但我相信它不能解决我的问题。到目前为止,我的代码如下所示:
+ (instancetype) characterWithDictionary: (NSDictionary *) dictionary
MCUCharacter *character = [[MCUCharacter alloc] init];
if ( character )
character.characterImageURL = [NSURL URLWithString:[dictionary valueForKeyPath:@"thumbnail.path.extension"]];
NSLog(@"Character Image URL: %@", character.characterImageURL);
return character;
这是json:
"thumbnail":
"path": "http://i.annihil.us/u/prod/marvel/i/mg/c/e0/535fecbbb9784",
"extension": "jpg"
, code here
【问题讨论】:
类似的东西可以/会/应该为您完成这项工作:NSURL *_url = [NSURL URLWithString:[[dictionary valueForKeyPath:@"thumbnail.path"] stringByAppendingPathExtension:[dictionary valueForKeyPath:@"thumbnail.extension"]]];
@holex 成功了!请添加答案,以便我接受。谢谢
不客气,我已将其添加为答案。
【参考方案1】:
我不想过度解释,但您当时可以获取一个 value-for-key-path,所以类似的东西可以/会/应该为您完成这项工作:
NSURL *_url = [NSURL URLWithString:[[dictionary valueForKeyPath:@"thumbnail.path"] stringByAppendingPathExtension:[dictionary valueForKeyPath:@"thumbnail.extension"]]];
简而言之,它首先获取 path,然后将 extension 作为实际的路径扩展附加到字符串,最后将字符串转换为 NSURL
对象以供进一步使用。
【讨论】:
以上是关于Objective C 连接键的主要内容,如果未能解决你的问题,请参考以下文章