我目前编写了一个名为 saveWorkout 的函数,它将 NSMutableArray 从 Singleton 类保存到另一个 NSMutableArray。此函数在第一次运行时有效,但是,当我第二次运行它时,它会删除以前存储在元素 0 中的内容并用新数组替换它(这是用户单击表格时收集的字符串集合) .
这是我的功能:
-(IBAction)saveWorkout{
WorkoutManager *workoutManager = [WorkoutManager sharedInstance];
[[workoutManager workouts] insertObject: customWorkout atIndex: 0];
NSLog(@"%@", [workoutManager workouts]);
}
customWorkout 是最初创建 NSMutableArray 的东西(基于用户点击的内容)。因此,如果我的第一个数组由 blah1、blah2 组成,那么这两个值将存储在锻炼数组中。但是,如果我然后单击 blah2、blah 3,则锻炼数组将有两个相同的数组(blah2、blah3)并且它不保留第一个数组。知道为什么会这样吗?
这是我形成customWorkout的方式:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSString *str = cell.textLabel.text;
[customWorkout insertObject:str atIndex:0];
//Test Code: Prints Array
NSLog(@"%@", customWorkout);
}