你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS中綁定tableview後,變量值消失的問題

iOS中綁定tableview後,變量值消失的問題

編輯:IOS開發綜合

好吧,標題就以最通俗的語句命名,估計百度收錄的時候,大家查找的時候會更加的方便。

iOS新手,這個問題著實調試了好長時間!

由於上手就開始做大的項目,也沒時間從基礎做起,相信大多數小公司的開發者都是這種模式。因此很多問題都產生自很基礎的錯誤。

項目使用mvc結構,在異步讀取完數據後,NSArray中model的數據就丟失了,專業點就是內存釋放了,只剩下內存地址了。

可能大家的情況和我不同,所以解決方法也不一定相同。

項目服務端是asp.net webservice,使用AFNetworking讀取到的數據類型為xml,然後再使用GDataXMLNode讀取xml中的值賦給新建的model,從而生成model的NSArray。

在建立model的時候,屬性的參數值設置為

// 發布者姓名

@property(nonatomic,assign) NSString *SenderName;

注意是assign,好吧,這種建立屬性的方式是copy別的代碼的。

問題就出現在這裡,屬性設置的assign,屬於地址引用,那麼在調用完GDataXMLNode後,NSString就自動釋放了,所以在ViewController中就讀取不到值了。

只需要將assign修改為copy即可。


// 發布者姓名

@property(nonatomic,retain) NSString *SenderName;


這是一個很基礎的錯誤,在不了解內存釋放機制和屬性的情況下,解決這種問題相當棘手,下面就列出來這部分的基礎知識,邊做邊學吧!

iOS開發中@property屬性介紹:http://gaoyong.diandian.com/post/2011-11-02/6444165




  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved