2014-07-16 38 views
0

在我的項目中,我使用UILabel和NSArray,我以NSString的形式從數組中傳遞參數,我使用斷點檢查了方法的調用,該參數正確傳遞參數,但嘗試使用收到的參數(在NSString中)但UILabel顯示NULL值。下面是代碼:爲什麼UILabel沒有顯示分配的NSString的值?

- (void)updateMenuLabel:(NSString *)passedObject { 
    NSString *str=[NSString stringWithFormat:@"%@", passedObject]; 
    lbl_selectitem.text=str; 

} 
+2

IB沒有正確連接?順便說一下'stringWithFormat'行是多餘的。 – trojanfoe

+0

與IBOutlet連接,刪除冗餘行並嘗試,但仍然獲得NULL –

+0

確保lbl_selectitem不爲零(使用NSLog(@「%@」,lbl_selectitem))記錄它。 – rdelmar

回答

0

它可以的,因爲一些事情發生:如果這是一個屬性,它沒有被正確地從廈門國際銀行/筆尖文件或鏈接故事板。如果這是以編程方式創建的,那麼當您爲此對象分配內存時,是否檢查過它?很明顯,這個對象是零,但你必須注意在這個過程中的哪個地方。 在viewDidLoadviewDidAppear(例如)中設置一個斷點,以查看對象是否仍然爲零並從那裏開始。

+1

這是作爲答案發布的,但它並不試圖回答這個問題。它應該可能是編輯,評論,另一個問題,或者完全刪除。 – Neeku

0

您需要檢查傳遞的對象字符串值。打印nslog相同的值。正如rckoenes建議它是零。

0

如果在接口中得到NULL,則表示該字符串爲零。 如果看不到任何更改,則表示該字符串爲空(@「」)或lbl_selectitem爲零。也許沒有連接到xib中的對象。

向第一行添加一個斷點。然後轉到lldb控制檯並鍵入:

po lbl_selectitem 
po passedObject 

存儲在屬性中的值將被打印,您可以發現錯誤。

0

兩件事情,

  • 檢查字符串是零/空當它被格式化。
  • 確保如果UILabel是IBOutlet,則將其聲明爲屬性(@property)。 如果不是IBOutlet,並且您正在創建UILabel,請使用addSubview:方法添加到父視圖。