Re: [問題] 新手請教 isEqualToString 和 == 的差別
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章