以前用的SDWebImage是3.0以前的,在xcode4.3中,沒問題
今天用的SDWebImage3.0在,編譯的時候沒錯,調UIImageView+WebCache.h中setImageWithURL:一運行就掛掉,報[nsarray objectAtIndexedSubscript]錯,整了好半天才知道objectAtIndexedSubscript是objective-c的新特性,在xcode4.5以後纔有。用xcode4.5運行,沒錯了。
這個新特性在WWDC2012的視頻中提到了,但是在XCode4.4中沒有實現。也是一個很體貼的語法糖,它允許你用中括號來代替原本的方法來獲取和設置數組元素。
簡單來說,以前的 [array objectAtIndex:idx] 和 [array replaceObjectAtIndex:idx withObject:obj],可以直接寫作 array[idx] 和 array[idx] = obj了。其實這個特性在很多高級語言中都實現了,只是Objective-C生於80年代,一直沒改進這個。
這個改進同樣對NSDictionary有效。甚至,你也可以給你自己的類提供中括號操作符對應的方法。具體做法是實現如下兩個方法:
1
2
|
|