我有2個字符串,說textfield.text和[textArray objectAtIndex:i] 它們包含相同的字符串(並由NSLog測試)。簡單的字符串公式
//此方法返回一個錯誤
if (textfield.text == [textArray objectAtIndex:i])
//此方法返回一個真正的
[textArray replaceObjectAtIndex:i withObject:textfield.text];
if (textfield.text == [textArray objectAtIndex:i])
//這樣也不錯
if ([textfield.text isEqualToString:[textArray objectAtIndex:i]])
爲什麼第一個返回假?
我明白了。你能告訴我比較內存地址的一些用法嗎? – 2011-06-13 05:34:53
我能想到的壓倒性用法是看兩個項目(指針)實際上是同一個對象,而不僅僅是相同的值。如果兩個指針具有相同的內存地址,那麼它們指的是同一個對象。可悲的是,我只能想到現實世界的比喻。如果你我都擁有「相同」的電子產品。雖然他們看起來感覺和行爲方式相同,但序列號會有所不同。這將確定哪個小工具是哪個,即使它們看起來相同。對象的內存地址就像它的序列號,與它的值無關。 – dredful 2011-06-13 14:27:13