我想在运行时存储数据,我可以有一个链表并在运行时添加,但是由于我是 IOS 和目标 C 的新手,我们是否有任何可以添加数据的默认列表,(数据是两个和一个整数)。
问问题
85 次
4 回答
0
Cocoa 提供了NSArray
和NSMutableArray
,一对类似于 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
您可以根据需要使用NSArray或NSMutableArray或NSDictionary或NSMutableDictionary。
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 回答