Re: [問題] 新手請教 isEqualToString 和 == 的差別

看板MacDev作者 (←這人是超級笨蛋)時間11年前 (2013/11/13 01:17), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《RSAES (RR)》之銘言: : 最近初學iphone程式設計 : 正在看stanford的課程 : 第一章提到要比較兩個 NSString : 要用 [str1 isEqualToString:str2] 而不是 str1 == str2 : 但老師只講一秒鐘就帶過了 : 我google了一下,好像意思是 == 會去比位址,isEqualToString才是真正比內容 : 但我嘗試不出可以看出兩者差別的testcase : 想請問一下大家我的認知是對的嗎? : 另外有甚麼case能明顯看出兩者差別嗎? NSString *foo = [[NSString alloc] initWithString:@"baz"]; NSString *bar = [[NSString alloc] initWithFormat:@"%@%@%@", @"b", @"a", @"z"]; NSLog(@"foo == bar: %d", (foo == bar)); NSLog(@"[foo isEqualToString:bar]: %d", [foo isEqualToString:bar]); 編譯器很聰明, 你直接給兩個常數的話它會最佳化, 所以你的嘗試才會失敗 : 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.161.94.175 ※ 編輯: uranusjr 來自: 218.161.94.175 (11/13 01:18)

11/13 11:23, , 1F
了解了 感謝!!
11/13 11:23, 1F

11/16 22:07, , 2F
我也有同樣疑問。了解了,謝謝!
11/16 22:07, 2F
文章代碼(AID): #1IWcAY0s (MacDev)
文章代碼(AID): #1IWcAY0s (MacDev)