2013-03-29 65 views
-3

我正在獲取本地保存的圖像url,現在我試圖將其轉換爲字符串。我知道absoluteString是將url轉換爲字符串的方法,但在這種情況下不起作用。將url轉換爲字符串

我的網址是這樣的(文件://本地主機/用戶.......)

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

什麼情況?你知道這種方法只適用於'NSURL',沒有別的? – 2013-03-29 06:56:13

+1

顯示entryObject的類 –

+1

也許從NSLog開始(@「%@」,entryObject.imageurl);讓我們看看是什麼樣子。 – danh

回答

1

如果您收到unrecognized selector sent to instance錯誤,這意味着,你已經傳話給一個對象,它不知道如何來解釋這個信息。也就是說,你有一個NSString對象,並且你發送absoluteString消息,你會得到這個錯誤。

因此,其原因當然是,即使imageurl被宣佈爲NSURL,您可能(也可能意外地)將某個其他類的對象分配給它。看起來像你剛剛有一個NSString,從數據庫中獲得並解決你的問題,你只需要轉換爲NSString,只要它已經是NSString。在此處發佈您的代碼,您在此設置imageURL屬性,在此處發送absoluteString消息。還要在將absoluteString發送到imageURL的行的前面放置一個斷點,然後檢查imageURL的類別。

2
entryObject.imageurl = [NSURL fileURLWithPath:yourPath]; 
0

試試這個:

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

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