2011-08-02 96 views
0

我有一個名爲txtvwEmail的UITextField。我將txtvwEmail.text中的文本添加到數組pastUrls,但添加下一個文本後刪除第一個文本。我使用代碼NSMutable數組,不保留添加的對象

if (![pastUrls containsObject:txtvwEmail.text]) { 
    [pastUrls addObject:txtvwEmail.text]; 
} 
+0

你能詳細說明你想要做什麼/期待什麼嗎? – mopsled

+0

addObject *將*增加保留計數。什麼樣的對象是'txtvwEmail.text'? – Sam

+0

我從txtvwEmail.text文本添加到數組pastUrls中,但在添加下一個文本後刪除第一個文本 – Rupesh

回答

2

您應該依賴語言和框架的基礎知識。陣列確實能保留該對象,但是,它可以是:

  1. pastUrls是零 - >沒有保留
  2. 某處代碼的.text被釋放(或自動釋放)和 計數尚未相同

此外,你不能確定[obj retainCount]返回正確的值。要診斷真正的問題,請修改代碼或在此處發佈,以便我們提供幫助。

1
//this should be outside of ur all loops 
NSMutableArray *pastUrls=[[NSMutableArray alloc]init]; 

//remove this line 
//NSMutableArray *pastUrls=[NSMutableArray array]; 

if (![pastUrls containsObject:txtvwEmail.text]) { 
    [pastUrls addObject:txtvwEmail.text]; 
} 

NSLog(@"pastUrls : %@ \n\n",pastUrls);