添加和访问数组中的对象(目标c)

时间:2014-09-28 08:56:07

标签: objective-c arrays object nsmutablearray nsmutabledictionary

我试图创建一个小应用程序,跟踪我的拒绝统计数据。 像消费,平均速度,最后加油日期等等。

输入这些详细信息后,将它们添加到按日期排序的列表中。

Looking something like this!

我可以在Left View控制器的列表中添加新条目。但我不知道如何创建一个Object并将其放入一个数组中,以后再访问它。

如果我将新对象添加到列表中,我希望能够单击它,并更改日期或消耗或任何内容。

我甚至不确定我是否需要数组,或字典。

如果您需要我已编写的代码,请告知我们。

1 个答案:

答案 0 :(得分:0)

使用数组可能是最好的,所以暴露NSArray(不可变数组),但在类的实现中你应该使用NSMutableArray(可变数组),这样你就可以添加/删除但是您不希望该类用户能够这样做:

.h档案:

@interface WhatNot : UITableViewController

@property (readonly) NSArray *listOfThings;

...

@end

.m档案:

@implementation WhatNot ()
{
    NSMutableArray *_listOfThings;
}
@end

@implementation WhatNot

...

// Override the getter method
- (NSArray *)listOfThings {
    return _listOfThings;
}

如果您希望类的用户能够向对象添加对象,那么为他们提供一个方法来执行此操作,并且在该方法中,您可以将对象添加到数组并安排更新tableView:< / p>

- (void)addThing:(Thing *)thing {
    [_listOfThings addObject:thing];

    NSIndexPath *indexPath = [NSIndexPath indexPathWithIndex:[_listOfThings count] - 1];   
    [self.tableView beginUpdates];
    [self.tableView insertRowAtIndexPaths:@[indexPath]
                         withRowAnimation:UITableViewRowAnimationTop];
    [self.tableView endUpdates];
}