将url转换为字符串

时间:2013-03-29 06:54:45

标签: iphone ios objective-c

我正在获取本地保存的图片网址,现在我正在尝试将其转换为字符串。我知道absoluteString是将url转换为字符串的方法,但在这种情况下不起作用。

我的网址是这样的(file:// localhost / Users .......)

 NSString * imagestring = [entryObject.imageurl absoluteString];

但是它的抛出错误unrecognized selector sent to instance 0xc36c410。我不知道为什么会这样发生

这是我的对象类

@interface EntryObject : NSObject
@property (nonatomic, strong) NSString *descString;
@property (nonatomic, strong) UIImage *photoImage;
@property (nonatomic, strong) NSURL * imageurl;
@property (nonatomic, strong) NSString *dairyId;
@property (nonatomic, strong) NSString *eventId;
@property (nonatomic, strong) NSString *dateString;

@property (nonatomic, strong) NSString *monthwiseSeparate_String;
@property (nonatomic,strong)  NSString *sortedString;
@property (nonatomic,strong) NSData * entryimagedata;

3 个答案:

答案 0 :(得分:2)

    entryObject.imageurl = [NSURL fileURLWithPath:yourPath];

答案 1 :(得分:1)

如果您收到unrecognized selector sent to instance错误,则表示您已向对象发送了一条消息,该对象不知道如何解释此消息。也就是说,你有一个NSString对象而且你正在向它发送一个absoluteString消息,你会收到这个错误。

所以原因绝对是即使imageurl被声明为NSURL你可能(并且可能意外地)将其他类的对象分配给它。看起来你只有一个NSString ,从数据库中获取并解决你的问题,只要它已经是NSString就不需要转换为NSString 。在此处将代码发布到您设置imageURL属性的位置,您可以在其中发送absoluteString消息。同时在您将absoluteString发送到imageURL的行之前放置一个断点,然后检查imageURL的类。

答案 2 :(得分:0)

试试这个:

NSString * imagestring = (NSString *)[entryObject.imageurl absoluteString];

NSString * imagestring = (NSString *)[entryObject imageurl];