我開始調試一些代碼,試圖找到我的錯誤。當我從調試器試圖p tlEntries
我得到的由編譯器優化的變量
<variable optimized away by compiler>
消息,而在if
聲明停止。下面是我的代碼:
NSArray *tlEntries = [[NSArray alloc] initWithArray:[self fetchJSONValueForURL:url]];
for (NSDictionary *info in tlEntries)
{
if ([info objectForKey:@"screen_name"] != nil)
NSLog(@"Found %@ in the timeline", [info objectForKey:@"screen_name"]);
}
早些時候調試給了我信心的網址確實是返回一個有效的NSArray
,但我不明白爲什麼tlEntries
被「優化掉」。
在「爲..在」語法實際上產生一個環路,它相當(一次用於陣列內的每n個元素)上tlEntries調用方法,使從我可以看到編譯器不應該因此而優化它。 – 2009-06-03 23:37:14