如何使用xcode 9定位图像

如何使用xcode 9定位图像,xcode,Xcode,所以我有一个代码,可以将图像设置为NSImageView。图像的名称取决于选择的项目 id selectedItem = [_sidebarOutlineView itemAtRow:[_sidebarOutlineView selectedRow]]; [noDataImage setImage:[NSImage imageNamed:[selectedItem stringByAppendingString:@".png"]]]; 但是由于我的“selectedItem”被翻译,它再也找不

所以我有一个代码,可以将图像设置为NSImageView。图像的名称取决于选择的项目

id selectedItem = [_sidebarOutlineView itemAtRow:[_sidebarOutlineView selectedRow]];
[noDataImage setImage:[NSImage imageNamed:[selectedItem stringByAppendingString:@".png"]]];
但是由于我的“selectedItem”被翻译,它再也找不到图像了

假设编程语言中的“selectedItem”只是“Favorites”,那么它将设置一个名为“Favorites.png”的图像

但现在我使用的是荷兰语,所以“selectedItem”会自动变为“Favorieten”,其中图像需要设置为“Favorieten.png”

但是它找不到“Favorieten.png”,因为它不存在


有办法解决这个问题吗?因为如果我只是复制图像并为每种可能的语言重命名它,这将占用大量空间。

您不应该复制具有不同名称的粘贴图像。取而代之的是,尝试对图像名称使用与字符串本地化相同的键。假设您的收藏键为“common_Favorite”,并将此名称用于图像。我认为,您最好在名为
imageName
localizedKey
selectedItem
中存储一些值,您将在其中存储imageName字符串。@AlekseyPotapov,如果我使用“nsLocalizedString”(@“FavoriteeTenimage.png”,@“Favorite image”)然后在Localizable.strings文件中,将“FavorietenImage.png”翻译为“Favorite.png”它应该能解决问题吗?是的,试试看。@AlekseyPotapov它可以工作。这是一种非常奇怪的方式,但它可以工作。你不应该复制具有不同名称的粘贴图像。相反,尝试使用相同的键(用于字符串本地化)作为图像名称。说你的收藏夹键是“common_Favorite”我想,您最好在名为
imageName
localizedKey
selectedItem
中存储一些值,您将在其中存储imageName字符串。@AlekseyPotapov如果我使用“nslocalizedString”(@“FavorietenImage.png”,@“Favorite image”)然后在Localizable.strings文件中,将“FavorietenImage.png”翻译成“FavorietenImage.png”,应该可以解决问题了吗?是的,试试这个..@AlekseyPotapov它是有效的。这是一种非常奇怪的方法,但确实有效。