gpt4 book ai didi

ios - NSURL 属性 'absoluteURL'

转载 作者:行者123 更新时间:2023-11-29 12:36:49 24 4
gpt4 key购买 nike

我正在开发自己的应用程序,此应用程序的 iPhone 版本已经在 Apple AppStore 上,现在我正在开发 iPad 版本。功能(当然)几乎相同,但用户界面不同。 iPhone 版本运行良好。

现在我在 XCode 中遇到了一个奇怪的错误。

我的应用程序使用 SoundCloud API 流式传输一些音乐并浏览不同用户的歌曲。在 iPhone 上我可以显示小的缩略图,因为 ImageViews 非常小(~40x40 像素)。但是在我的 iPad 上,我需要更大的图像,所以我必须获取更大的艺术品图像和用户头像。

为此,我有两种不同的方法。第一个获取更大的艺术作品图像,第二个获取更大的用户头像(个人资料图片)。

- (NSURL *)bigCoverURLforTrack:(Track *)track {
if(track.coverURL) {
NSURL* coverURL = track.coverURL;
NSString* coverLarge = coverURL.absoluteString;
NSString* coverBig = [coverLarge stringByReplacingOccurrencesOfString:@"-large" withString:@"-t500x500"];
return [[NSURL alloc] initWithString:coverBig];
}
else return [[NSURL alloc] init];
}

- (NSURL*)bigAvatarURLforUser:(User*)user {
if(user.avatarURL) {
NSURL* avatarURL = user.avatarURL;
NSString* avatarLarge = avatarURL.absoluteString;
NSString* avatarBig = [avatarLarge stringByReplacingOccurrencesOfString:@"-large" withString:@"-t500x500"];
return [[NSURL alloc] initWithString:avatarBig];
}
else return [[NSURL alloc] init];
}

第一种方法工作正常,但第二种方法每次都崩溃。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString absoluteString]: unrecognized selector sent to instance

我做错了什么?

最佳答案

一定是这一行:

NSURL* avatarURL = user.avatarURL;

正在将 avatarURL 设置为字符串而不是 NSURL。在源头上解决这个问题(确保用户的方法回答一个真正的 NSURL,而不是 NSString),或者当你得到它时强制类型是这样的:

NSURL* avatarURL = [NSURL URLWithString:user.avatarURL];

关于ios - NSURL 属性 'absoluteURL',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26078501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com