我仍在學習iOS SDK,因此希望這是有道理的。我仍然試圖圍繞使用點語法。有人可以解釋爲什麼這個代碼不起作用,但第二個呢?在收集視圖中設置背景色時的點語法與方括號
不工作:
-(void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionView *cell = [collectionView cellForItemAtIndexPath:indexPath];
[[cell contentView] setBackgroundColor:[UIColor blueColor]];
}
工作:
-(void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionView *cell = [collectionView cellForItemAtIndexPath:indexPath];
cell.contentView.backgroundColor = [UIColor blueColor];
}
我只是不明白,爲什麼第一個代碼將無法正常工作。我正在使用最新版本的Xcode。是否將setBackgroundColor方法棄用於其他內容?
兩個是等價的(除來自編譯器檢查點符號的輕微語法差異)。如果#1工作,#2應該工作一致。 – 2013-05-15 21:49:56
等待您將單元格從「cellForItemAtIndexPath:'轉換爲錯誤類型的UICollectionView。否則,這些值應該與@ H2CO3所表示的值相同 –
在這兩種情況下編譯器都應該警告。我懷疑我們正在顯示的代碼是實際的代碼。 – matt