2014-12-08 52 views
0

我得到警告「表達式結果未使用」。表達式結果未用於UITabBarItem

enter image description here

我不知道這是爲什麼顯示。它工作正常。顯示正確的標題和圖像,爲什麼警告?我能做些什麼來解決這些警告?

謝謝大家的幫助!

---------------------------------------------- -------編輯1

當我這樣寫我沒有任何警告。

tabBarItem1 = [tabBarItem1 initWithTitle:@"Matcher Idag" image:[UIImage imageNamed:@"games-2.png"] selectedImage:[UIImage imageNamed:@"games-2.png"]]; 

但是當我去到產品 - >分析則說:「存儲到tabBarItem1值永遠不會使用

+0

也許因爲selectedImage相同的常規形象? – RegularExpression 2014-12-08 01:14:07

+1

順便說一句,不要張貼圖片的代碼。將代碼複製/粘貼到您的帖子中並使用代碼格式。這樣它就可以讀取,如果他們想提出建議,人們可以複製/粘貼代碼。 – 2014-12-08 01:20:48

+0

誠然,謝謝你花時間向我解釋事情。非常有幫助@DuncanC你好像你知道你的東西。如果你有任何機會有一段時間了,看看這篇文章,我作出了,如果你有任何想法,它會是非常友善的http://stackoverflow.com/questions/27347937/changing-position-of-a-uilabel- for-a-custom-uitableviewcell – 2014-12-08 01:23:35

回答

2

該代碼是非常,非常錯誤的

初始化方法返回一個對象。你應該使用它,因爲有時init()方法返回一個不同的對象比你開始與一個

你幾乎總是使用alloc和一對初始化在一起,如:

tabBarItem1 = [[tabBarItem alloc] initWithTitle: @"title" 
    image: myImage 
    selectedImage: anotherImage]; 

如果您不是經驗豐富的Objective-C開發人員,並且您正在分別調用alloc和init,那麼您就犯了一個錯誤。我可以指望我的手指使用init的次數,它不在我上面顯示的alloc/init模式中。

您發佈的代碼沒有多大意義。您不應該將init消息發送給已經是標籤欄一部分的對象。這是一個禁忌。這些對象已經被初始化,並且你只能發送一個init消息給它的生命週期中的一個對象。你在做什麼會導致問題。大問題。

相反,你應該使用的標題和圖像屬性:

tableBarItem1.title = @"new title"; 
tableBarItem1.image = myImage; 
tableBarItem1.selectedImage = mySelectedImage; 
+0

謝謝!很有幫助 – 2014-12-08 01:23:55