标签: nsmutablearray

在NSTableView行中显示多个对象

我是stackoverflow的新人:)但我认为,这是问我问题的正确位置.我是Cocoa和Objective-c的新开发人员,我正在尝试编写我的第一个Mac应用程序:ToDo应用程序.

此时,我可以保存ToDo并删除它们,但现在,我想添加一些功能,如CreationDate,一些标签(在mutablearray中),以及ToDo是否完成.我没有使用ArrayController,我将编码的NSMutableArray保存到文件(库/应用程序支持/ AppName)并从那里读取它.

这一切都必须在一行,因为它看起来像这样:

目前的外观http://img683.imageshack.us/img683/7595/bild2ss.png

其中Title应该是ToDo的内容,Blue Box应该是Status(Blue = undone,Gray = Done),Subtitle应该是Date和Tags(03.01.2009 - tag1,tag2) ,tag3)

我现在如何将addObjects添加到mutablearray中,但是,如果我想将所有这4个信息保存到这个数组中,我不知道如何制作它.

我有一个模型,正在初始化这4个信息,但如何保存?我必须在一个数组和我的mutablearray中的数组中保存这个信息吗?

cocoa objective-c nstableview nsmutablearray nsarray

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

NSMutableArray initWithContentsOfFile内存泄漏

我是iPhone开发的新手,我有这个内存泄漏.

我使用NSMutableArray来检索位于Documents目录中的.plist文件的内容.

我第一次使用它,一切都很顺利,但如果我多次调用它,我会得到内存泄漏.

这是我的代码:

- (void)viewWillAppear:(BOOL)animated {
  [super viewWillAppear:animated];
  NSArray *paths = NSSearchPathForDirectoriesInDomains
                       (NSDocumentDirectory, NSUserDomainMask, YES);
  NSString *documentsDirectory = [paths objectAtIndex:0];
     //make a file name to write the data to using the
     //documents directory:
  fullFileName = [NSString stringWithFormat:@"%@/SavedArray", documentsDirectory];
     //retrieve your array by using initWithContentsOfFile while passing
     //the name of the file where you saved the array contents.
  savedArray = nil;
  savedArray = [[NSMutableArray alloc] initWithContentsOfFile:fullFileName];
  self.composedArray = [savedArray copy];
  [savedArray release];
  [self.tableView reloadData];
}
Run Code Online (Sandbox Code Playgroud)

每次视图消失时我都会释放它

- (void)viewWillDisappear:(BOOL)animated {
  [super …
Run Code Online (Sandbox Code Playgroud)

memory cocoa memory-leaks nsmutablearray

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

NSArray - 检查对象是否在数组中?

我有2个阵列.一个是600个对象的大型静态组,另一个是10个对象的小组.

我想在两个组之间采用任何常见对象并将它们放在一个新数组中.

因此,假设大组包含600个名为1到600的对象.较小的组包含9个对象:1,2,3,4,5,6,a,b,c.我希望能够创建一个包含对象1,2,3,4,5,6的新数组.

做这个的最好方式是什么?

iphone nsmutablearray nsarray iphone-sdk-3.0

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

如何在多个类中使用相同的类别?

我有一个我在A类中使用的NSMutableArray的堆栈类别

@implementation NSMutableArray (StackUtil)

- (void)push:(id)stackObject {

 [self addObject:stackObject];
}
- (id)pop {

 id retVal = [[self lastObject]retain];
 [self removeLastObject];
 return [retVal autorelease];
}

@end
Run Code Online (Sandbox Code Playgroud)

如何正确地将此类别包含在与A类无关的B类中?此外,我注意到,当我#IMPORT A级到C级方法的工作类别的头,但我得到了"对象可能不响应Push消息"警告.可能有人清理如何类别"重用",为什么他们的名字(StackUtil在这种情况下),以及如何使用它们.

macos cocoa objective-c nsmutablearray

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

NSMutableArray addObject错误

我无法将addObject添加到'easyQArray'(NSMutableArray)中.当我在本地定义数组时它确实有效,但是当我将声明移动到.h文件中时它不再起作用了.

当我尝试访问不存在的数组中的索引时,应用程序崩溃了:

// Create question arrays
if (easyPlayers > 0) {
    for (int XX = 0; XX < easyQuestions; XX++) {
        [easyQArray addObject: [myArray objectAtIndex: easyQStartPos]];
        NSLog(@"myArray: %@", [myArray objectAtIndex: easyQStartPos]);
        NSLog(@"easyQArray: %@", easyQArray);
        easyQStartPos = easyQStartPos + 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

2010-12-28 15:52:57.636 XX_v2 [11582:207] myArray:205
2010-12-28 15:52:57.636 XX_v2 [11582:207] easyQArray :( null)
2010-12-28 15:52:57.636 XX_v2 [11582:207] myArray:71
2010-12-28 15:52:57.637 XX_v2 [11582:207] easyQArray :( null)
2010-12-28 15:52:57.637 XX_v2 [11582:207] myArray:94
2010 -12-28 15:52:57.638 XX_v2 [11582:207] easyQArray :( null)
2010-12-28 …

iphone objective-c nsmutablearray

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

比较值的NSMutableArray元素

我正在寻找一种方法来比较两个NSMutableArray对象的内容.两个数组都填充了NSMutableDictionaries,它们是单独分配的,但偶尔也包含相同的数据.

简化示例:

NSMutableArray *firstArray = [[NSMutableArray alloc] init];
NSMutableArray *secondArray = [[NSMutableArray alloc] init];

NSMutableDictionary *a = [[NSDictionary alloc] init];
[a setObject:@"foo" forKey:"name"];
[a setObject:[NSNumber numberWithInt:1] forKey:"number"];

NSMutableDictionary *b = [[NSDictionary alloc] init];
[b setObject:@"bar" forKey:"name"];
[b setObject:[NSNumber numberWithInt:2] forKey:"number"];

NSMutableDictionary *c = [[NSDictionary alloc] init];
[c setObject:@"foo" forKey:"name"];
[c setObject:[NSNumber numberWithInt:1] forKey:"number"];

[firstArray addObject:a];
[firstArray addObject:b];
[secondArray addObject:c];
Run Code Online (Sandbox Code Playgroud)

a,b和c是不同的对象,但a和c的内容是匹配的.

我正在寻找的是比较firstArray和secondArray并仅返回b的函数/方法.

在伪代码中:

NSArray *difference = [self magicFunctionWithArray:firstArray andArray:secondArray];
NSLog(@"%@",difference)

=> ({name="bar"; number=2})
Run Code Online (Sandbox Code Playgroud)

先感谢您.

compare objective-c nsdictionary nsmutablearray nsarray

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

如何删除作为另一个对象一部分的NSMutableArray上的AllObjects?

我有一个像这样定义的对象:Scores.h:

@interface Scores : NSObject {
NSString *sentenceKey;
    NSMutableArray *scorrectAnswers;
}
@property (nonatomic, copy) NSString *sentenceKey;
@property (nonatomic, copy) NSMutableArray *scorrectAnswers;
+ (id)addScore:(NSString *)senKey;

- (id)initWithSentenceKey:(NSString *)sKey  
    scorrectAnswers:(NSMutableArray *)scorrectAs;

- (id)initWithSentenceKey:(NSString *)sKey;
- (void)removeArrayObjects;
Run Code Online (Sandbox Code Playgroud)

Score.m:

#import "Scores.h"
@implementation Scores

@synthesize sentenceKey, scorrectAnswers;

+ (id)addScore:(NSString *)senKey
{
Scores *newScore = [[self alloc] initWithSentenceKey:senKey
                    scorrectAnswers:[NSMutableArray new]];
return [newScore autorelease];}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用此方法删除可变数组上的AllObjects:

- (void)removeArrayObjects;{
   [scorrectAnswers removeAllObjects];}
Run Code Online (Sandbox Code Playgroud)

...我从另一个程序中调用这样的:

for (Scores *sScore in scores)
{   
    [sScore removeArrayObjects];
}
Run Code Online (Sandbox Code Playgroud)

...当我运行它时,我收到此错误:

- [__ NSArrayI removeAllObjects]:无法识别的选择器发送到实例0x53412d0

谁能告诉我这里我做错了什么?谢谢.

iphone nsmutablearray

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

NSMutableArray删除重复的项目

 NSLog(@"Ci sono %d categorie",category.count);
 for(int c=0; c<category.count; c++){
 CategoryArray * element =[category objectAtIndex:c];
 NSLog(@"******************************");
 NSLog(@"Titolo %@",element.label);
 NSLog(@"Source %@",element.url);
 NSLog(@"******************************");
 [element release];
Run Code Online (Sandbox Code Playgroud)

这是我的代码!我需要删除所有重复数组...我使用此代码,但我不明白为什么它不起作用.

uniquearray = [[NSSet setWithArray:category] allObjects];
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsmutablearray

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

基于具有自定义类的其他Array对NSArray进行排序

我迫切需要对阵列进行排序:继承人的情况,

我需要根据另一个数组中的其他对象类重新排序/排序和替换数组.

ParentClass :NSObject{
  NSString *name;
  NSNumber *type;
}
Run Code Online (Sandbox Code Playgroud)

这是父类,它填满了parentArray

parentArray = { parentA, parentB, parentC }
Run Code Online (Sandbox Code Playgroud)

这是另一个对象类,它有ParentClass*parent.

@class ParentClass;

EntryClass: NSObject{
 NSString *name;
 NSNumber *number;
 ParentClass *parent;
}



Now I have an array entryArray = { entryX, entryY, entryZ };

entryX.parent is one of the ParentClasses and all of them are in parentArray.

entryX.parent  == ParentC;
entryY.parent  == ParentA;
entryZ.parent  == ParentB;
Run Code Online (Sandbox Code Playgroud)

我想根据parentArray中的顺序对这个entryArray进行排序.所以如果ParentArray是:

{
 ParentA,
 ParentB,
 ParentC
}
Run Code Online (Sandbox Code Playgroud)

然后我想要排序的entryArray

{
 entryY,
 entryZ,
 entryX
}
Run Code Online (Sandbox Code Playgroud)

此外,如果缺少一个条目Object,则为entryZ,那么数组应该是

{
 entryY,
 @"0.0",
 entryX …
Run Code Online (Sandbox Code Playgroud)

sorting objective-c nsmutablearray nsarray

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

使用不兼容的void类型初始化NSMutableArray __strong

这是返回错误的原因:

NSMutableArray *newArray = [[[NSMutableArray alloc] initWithArray:[NSJSONSerialization JSONObjectWithData:[[[appDelegate.Matches objectAtIndex:(NSUInteger)indexPath] objectForKey:@"chat"] dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:nil]] addObject:[NSDictionary dictionaryWithObjectsAndKeys:message, @"message", [NSString stringWithFormat:@"%llu", appDelegate.userId], @"id", nil]];
Run Code Online (Sandbox Code Playgroud)

iphone nsmutablearray nsjsonserialization

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