2011-08-02 40 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);