0

我想在运行时存储数据,我可以有一个链表并在运行时添加,但是由于我是 IOS 和目标 C 的新手,我们是否有任何可以添加数据的默认列表,(数据是两个和一个整数)。

4

4 回答 4

0

Cocoa 提供了NSArrayNSMutableArray,一对类似于 JavaArrayList和 C#的有序容器List。您可以向 中添加值NSMutableArray,它会随着您添加更多元素而增长;NSArray是只读的。

于 2012-08-16T11:15:12.257 回答
0

您可以使用 .plist 文件来存储您的数据。阅读更多“从 .plist 文件加载数据”“如何在 iphone 中使用 plist?” 或像“从 .plist 加载数据”一样使用谷歌搜索。但是,您可以NSArray在运行时创建或类似的东西。如果你想深入了解,你必须阅读ObjC Collections Programming Topics

于 2012-08-16T11:16:44.000 回答
0

您可以根据需要使用NSArrayNSMutableArrayNSDictionaryNSMutableDictionary

NSArray:

NSArray *myArray;
NSDate *aDate = [NSDate distantFuture];
NSValue *aValue = [NSNumber numberWithInt:5];
NSString *aString = @"a string";
myArray = [NSArray arrayWithObjects:aDate, aValue, aString, nil];

NSMutableArray:

NSMutableArray *myArray = [[NSMutableArray alloc] init];
NSDate *aDate = [NSDate distantFuture];
NSValue *aValue = [NSNumber numberWithInt:5];
NSString *aString = @"a string";
[myArray addObject:aDate];
[myArray addObject:aValue];
[myArray addObject:aString];

NS词典:

NSDictionary * myDict = [NSDictionary dictionaryWithObjects:aDate, aValue, aString forKeys:firstDate, firstValue, firstString];

NSMutable字典:

NSString *aString = @"a string";
NSDate *aDate = [NSDate distantFuture];
NSValue *aValue = [NSNumber numberWithInt:5];
myDict = [[NSMutableDictionary alloc] init];
[myDict setObject:aString forKey:firstString];
[myDict setObject:aDate forKey:firstDate];
[myDict setObject:aValue forKey:firstValue];
于 2012-08-16T11:17:54.513 回答
0

使用默认属性为您的数据创建一个类,并确保它继承 NSObject 然后使用 NSMUtableArray 向列表中添加/删除元素。

// in the .h file of your object
@interface MyObject : NSObject {
    NSString* strAttribute1;
    // add more attributes as you want
}

@property (nonatomic, retain) NSString* strAttribute1;

@end

// then in the .m file
// do not forget the #import ""
@implement MyObject
@synthesize strAttribute1;

// override the dealloc to release the retained objects
@end

然后在你想要列出这个对象的代码中

NSMutableArray* myArray = [[NSMutableArray alloc] init];

// add elements and iterate through them

// do not forgot to free the memory if you are not using ARC
[myArray release];
于 2012-08-16T11:17:59.770 回答