【发布时间】:2025-12-14 01:10:01
【问题描述】:
您好,我有一个带有 IBAction 的 viewController,可以将字符串添加到 Plist NSMutableArray。
这个 Plist 然后被读入另一个 viewController,它是一个 tableView。 Plist 数组中的此字符串使用字符串“1”(不带引号)填充自定义单元格中的文本字段。这基本上是一个购物篮系统,在这种情况下,用户将产品添加到购物篮中,将 1 字符串添加到填充 qty 文本字段的 qty 数组。这些 qty 文本字段会动态添加到购物篮视图中,因此在很多情况下,我会有很多行包含其中包含字符串“1”的文本字段。
现在我遇到的问题是,当按下将产品添加到购物篮的按钮时,我在 alertView 上有另一个按钮可以从 plist 中删除产品。问题是我添加了这样的字符串
NSString *string = @"1";
[enteredQty2 addObject:string];
NSArray *paths4 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory4 = [paths4 objectAtIndex:0];
NSString *path4 = [documentsDirectory4 stringByAppendingPathComponent:@"qty.plist"];
[enteredQty2 writeToFile:path4 atomically:YES];
并像这样删除字符串
NSString *string = @"1";
[enteredQty2 removeObject:string];
NSArray *paths4 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory4 = [paths4 objectAtIndex:0];
NSString *path4 = [documentsDirectory4 stringByAppendingPathComponent:@"qty.plist"];
[enteredQty2 writeToFile:path4 atomically:YES];
我遇到的问题是,如果我有几件物品添加到购物篮中,它们最初的数量字符串都是“1”。那么当我删除对象时会发生什么,它会从所有 qtyTextFields 中删除“1”,而不仅仅是所选的相关产品。当然,QtyTextFields 会根据用户想要的数量而变化,因此从数组中删除“1”,假设数量“12”将无效。
我不确定当我添加字符串“1”并使用选定标签删除项目时,最好的方法是什么。当然这些标签必须是动态的和唯一的?
非常感谢任何帮助
【问题讨论】:
标签: ios uitableview nsmutablearray plist nsindexpath