我正在获取本地保存的图片网址,现在我正在尝试将其转换为字符串。我知道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;
答案 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];