2014-12-03 45 views
1

我有一個NSString調用insideString,它在.h文件中全局定義。在viewdidload我分配一些字符串到insideString變量。在幾句話後,我使用NSTimer來調用另一種方法。當我嘗試與另一個NSString進行比較時,NSString只顯示內存地址

在該方法中,我想將此insideString變量與另一個字符串進行比較。但那個時候。此insideString變量變爲空。當我在這一點上打印這個變量時,它只顯示內存地址。

NSString *strnewinsideString = [strM3u81 substringWithRange:[match rangeAtIndex:1]]; 
if ([strnewinsideString isEqualToString:insideString]) {    
    [self downloadM3u8:sender]; 
} 
else 
{ 
    insideString=strnewinsideString; 
} 

這就是我想要做的。但是這裏insideString總是顯示它的內存地址。請幫幫我。

謝謝。

+0

之前比較檢查兩個字符串值.insideString空意味着一些地方它的空 – Sport 2014-12-03 10:50:23

+1

把'NSLog'看到的價值,有時調試器糟透了。 – Andy 2014-12-03 12:10:22

+0

*我有一個叫做insideString的NSString,它是在.h文件中全局定義的。*不計算。告訴我們'insideString'是如何聲明和初始化的。 – 2014-12-03 13:09:13

回答

0

您的代碼行使您的字符串爲空:insideString=strnewinsideString;在您的else區塊中。所以,我認爲如果你想堅持你的insideString,你應該使用該行的其他臨時指針。祝你好運!

+0

我在逐步檢查代碼之前,在進入else部分之前,在比較開始時將它清空。但在viewdidload方法內部,我爲它分配了一些值。直到存在,直到viewdidload完成 – user2889249 2014-12-03 10:59:43

+0

也許,在別的地方你分配不同的價值呢?請仔細檢查你的代碼。 – 2014-12-03 11:01:13

相關問題