标签: nsmutablearray

可可触摸的内存泄漏与mutableCopy

我正在尝试解决内存泄漏,但我找不到任何解决方案.

仪器表示此方法存在泄漏:

 - (void)refreshData {

 Sn0werSp33dAppDelegate *appDelegate = [[Sn0werSp33dAppDelegate alloc] init];
 NSFetchRequest *coreDataNewsFetchRequest = [[NSFetchRequest alloc] init];
 NSEntityDescription *entity = [NSEntityDescription entityForName:@"News" inManagedObjectContext:managedObjectContext];

 [coreDataNewsFetchRequest setEntity:entity];

 self.managedObjectContext = appDelegate.managedObjectContext;
 self.newsArray = [[managedObjectContext executeFetchRequest:coreDataNewsFetchRequest error:nil] mutableCopy];//Intruments says that here is the memory leak :(


 [appDelegate release];
 [coreDataNewsFetchRequest release];
 [entity release];
}
Run Code Online (Sandbox Code Playgroud)

newsArray 在我的.h中声明为NSMutableArray,它有一个属性: @property (nonatomic, retain) NSMutableArray *newsArray;

我尝试了很多东西,但在任何时候,事情都没有用.我正在使用iPhone SDK 4.2.1和Instruments 2.7运行XCode 3.2.5.

iphone cocoa-touch memory-leaks objective-c nsmutablearray

1
推荐指数
1
解决办法
4880
查看次数

Cocoa的NSMutableArray稀疏吗?

如果我创建一个最多可能有2 ^ 16个元素的NSMutableArray,但是大部分都是空的,我会浪费空间还是将NSMutableArray实现为稀疏数组?

cocoa sparse-array nsmutablearray

1
推荐指数
1
解决办法
405
查看次数

objective-c nsmutablearray setValue forKey问题

我的代码:

NSArray *array = //objects here
NSMutableArray *mutarray = [[NSMutableArray alloc] init];

    for (NSString *s in array)
    {
        NSRange ran = [s rangeOfString:@"abc"];
    if (ran.location != NSNotFound)
    {
        int inde = [array indexOfObject:s];
        [mutarray setValue:[NSNumber numberWithInt:inde] forKey:s];
    } 
    }
    NSLog (@"mutarray: %@", mutarray);  
Run Code Online (Sandbox Code Playgroud)

我尝试过NSMutableDictionary,但内容是无序的,所以我更喜欢NSMutableArray有序地存储值和键.但NSLog的输出什么也没有显示,到底是什么?NSMutableDictionary的输出显示了四个发现.


编辑:

我甚至在NSLog前面尝试过这段代码,但没有显示:

[mutarray setValue:@"aha" forKey:@"jaha"];
Run Code Online (Sandbox Code Playgroud)

编辑:伙计们,谢谢你的回答!现在我明白了.但问题是我将数字存储为值和字符串作为键.我有一个无序的NSMutableDictionary.我还没弄明白我应该怎么订购它.我有我使用的代码,但没有正确编写:

NSInteger intSort(id num1, id num2, void *context)
{
    int v1 = [num1 intValue];
    int v2 = [num2 intValue];
    if (v1 < v2)
        return NSOrderedAscending;
    else if (v1 > v2)
        return …
Run Code Online (Sandbox Code Playgroud)

objective-c nsmutablearray setvalue

1
推荐指数
1
解决办法
7477
查看次数

NSMutableArray addObject会覆盖数据

我正在添加一个对象"m" NSMutableArray如下:

    [m setObject:a forKey:@"a"];
    [m setObject:b forKey:@"b"];
    [m setObject:c forKey:@"c"];
    [m setObject:d forKey:@"d"];

    [myArray addObject:m];

    [m release];
Run Code Online (Sandbox Code Playgroud)

对于一个对象,它可以正常工作,但是当添加另一个对象时,对myArray中的所有对象重复相同的值.

怎么避免这个?

请帮忙.

谢谢.

iphone objective-c nsmutablearray ios

1
推荐指数
1
解决办法
2314
查看次数

如何在iOS中将UIColor对象添加到NSMutableArray中

当我将UIColor对象添加到数组中时,我收到了Thread1: Program received signal: “SIGBRT”此错误.

 NSMutableArray *array =[[NSMutableArray alloc] init];
        UIColor *color1,*color2, *color3,*color4;
        color1 = [UIColor blueColor];
        color2 = [UIColor colorWithHue:0.5 
                            saturation:0.1 
                            brightness:0.2
                                 alpha:1.0];
        color3 = color2;
        [array addObject:color1];//No Problem
        [array addObject:color2];//No Problem
        [array addObject:color3];//No Problem
        [array addObject:color4];//Problem is here.....
Run Code Online (Sandbox Code Playgroud)

当我将前三个对象添加到数组中时没有问题.但是当我添加最后一个对象时,我得到错误.这段代码有什么问题?我应该像前三个对象一样将任何东西分配给第四个对象(color4)吗?有必要吗?为什么?...

请举例说明.提前致谢.

iphone nsmutablearray uicolor ios

1
推荐指数
1
解决办法
3120
查看次数

将NSMutableArray中的数字与indexPath.row进行比较

我有一个NSMutableArray在编辑TableView时经常被编辑.我想要做的是运行检查并查看TableView中的行是否与NSMutableArray中的任何数字匹配,如果相同,则执行操作.所以,在TableView代码中我有:

if([thearray containsObject:indexPath.row] {
   //perform action here
}
Run Code Online (Sandbox Code Playgroud)

但是我一直收到错误:

Incompatible integer to pointer conversion sending 'NSInteger' (aka 'int') to parameter of type 'id'; 
Run Code Online (Sandbox Code Playgroud)

我做错了什么,怎么能这样做?

xcode uitableview nsmutablearray ios

1
推荐指数
1
解决办法
1533
查看次数

NSNumber包装int,返回错误的int,Objective-C

我需要将一个int存储在一个数组中,然后我尝试了这种方式,将int转换为一个int,NSNumber但integer最终结果为136894816 ...有人可以帮我吗?

        NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:5];
        NSNumber *num = [NSNumber numberWithInt:10];
        [array insertObject:num atIndex:0];

        int integer = [array objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

objective-c nsnumber nsmutablearray

1
推荐指数
1
解决办法
783
查看次数

两个数组在一个第一个数组中检索两个值

First_mutableArray是1,2,3,4,5,6
Second_MutableArray的2,4,6,8,0,12

如何获得这样的输出

First_mutableArray是1,2,3,4,5,6,8,0,12吗?

iphone nsmutablearray ios

1
推荐指数
1
解决办法
196
查看次数

iPhone应用程序崩溃[__NSCFString objectForKey:]无法识别的选择器发送到实例

我试图在tempArray中添加偶数个data.localBookmarks是字典数组.这是我的代码:

currentIndex = indexPath.row;
for (NSDictionary *dict in localBookmarks)
    {
    if (currentIndex % 2 == 0 && currentIndex <= [localBookmarks count])
     {             
           [tempArray addObject:[dict objectForKey:@"firstName"]];
     }
        currentIndex++;
    }
NSLog(@"tempArray %@",tempArray);

cell.textLabel.text = [tempArray objectAtIndex:indexPath.row];
return cell;
Run Code Online (Sandbox Code Playgroud)

我的应用程序崩溃[tempArray addObject:[dict objectForKey:@"firstName"]]; 这一行,我该如何解决?

iphone objective-c nsdictionary nsmutablearray

1
推荐指数
1
解决办法
5829
查看次数

我们可以一次使用排序描述符和@distinctUnionOfObjects吗?

由于我的要求,我需要对我进行排序NSMutableArray并需要在该数组中放置唯一值.

这是我的代码,但我遇到的问题是我得到两个数组:一个具有不同的值,另一个没有明确的值但是已经排序.

/ *Making the years unique so that it will display only once*/
        mSortingArray = [mYearsArray valueForKeyPath:@"@distinctUnionOfObjects.self"] ;
        NSLog(@"mSortingArray%@",mSortingArray);

        /*Sorting the array to get the years in assending format*/
        NSSortDescriptor *sortDescriptor;
        sortDescriptor = [[NSSortDescriptor alloc]initWithKey:@"self"ascending:YES];
        NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
        [mYearsArray sortUsingDescriptors:sortDescriptors];
        NSLog(@"%@ :%@",mYearsArray,sortDescriptors);
Run Code Online (Sandbox Code Playgroud)

如何在一个数组中获得两个结果?

iphone nsmutablearray nssortdescriptor ios

1
推荐指数
1
解决办法
1483
查看次数