2011-12-15 58 views
2

當在xcode 4.2中運行分析時,我有警告「在初始化期間存儲到'圖像'的值永遠不會被讀取。任何人都可以幫我解決代碼有什麼問題?在其初始化過程中存儲爲'圖像'的值永遠不會被讀取

UIImage *image=[[[UIImage alloc] init]autorelease]; 
if (carousel==recipeCarousel) { 
    image = [recipeItems objectAtIndex:index]; 
} else { 
    image = [packItems objectAtIndex:index]; 
}  
UIView *view = [[[UIImageView alloc] initWithImage:image] autorelease]; 
return view; 

謝謝。

回答

5

你的alloc的UIImage的這段代碼

UIImage *image=[[[UIImage alloc] init]autorelease]; 

但後來你在recipeItemspackItems

這樣分配的對象,你將失去你的控制權分配的對象。

所以,你可以做到這一點

UIImage *image = nil; 

if (carousel==recipeCarousel) { 
    image = [recipeItems objectAtIndex:index]; 
} else { 
    image = [packItems objectAtIndex:index]; 
}  

NSArray *targetItems = nil; 

if (carousel==recipeCarousel) { 
    targetItems = recipeItems; 
} else { 
    targetItems = packItems; 
}  

UIImage *image = [targetItems objectAtIndex:index]; 
相關問題