我正在将PFObject
被调用的项目保存到名为Objects
的类中。所以类是Objects
,在那个类中我有一个名为item的列(它是字符串对象)。每次点击tableView
中的一行时,该应用都会保存该行的文本进行解析。
例如,如果您点击此行3次,则会将文本保存3次。有没有办法只保存一次。
我可以使用if语句检查该字符串是否已存在于解析中,如果是,则不保存。
更新
如果我有一个名为MenuItem的类。在MenuItem中,我有一个名为item的字符串列。
然后在我的应用中我有
menuItem[@"item"] = @"item1";
[menuItem saveInBackground];
每次打开应用程序时都会运行此代码。
我该怎么检查?
我正在查看文档,我认为它是这样的?
PFQuery *query = [PFQuery queryWithClassName:@"MenuItem"];
[query whereKey:@"item" hasPrefix:@""];
[query findObjectsInBackgroundWithBlock:^(NSArray *items, NSError *error) {
if (!error) {
// The find succeeded.
NSLog(@"Successfully retrieved %lu items.", (unsigned long)items.count);
// Do something with the found objects
for (PFObject *item in items) {
NSLog(@"%@", item.objectId);
}
} else {
// Log details of the failure
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
我只是错过if语句来检查项目是否已存在?
谢谢
答案 0 :(得分:1)
在没有代码的情况下给出确切的答案有点困难,但如果我愿意,我会这样做:
一个。版本
如果你必须保存一个NSString
变量,我会在User
类中创建一个Item列并保存在那里。这样,如果用户多次点击同一个单元格,他将一次又一次地重写相同的字符串。
湾版本
在保存字符串之前,您可以查询Objects
类并遵循一些不同的逻辑。我的观点是,最简单的方法是循环使用当前用户上传的每个对象,如果用户已经拥有与当前单元格具有相同字符串的对象,则不要上传照片和用户可以根据需要多次点击同一个单元格。
℃。版本
以某种方式显示单元格被点击,因此用户将知道何时点击了单元格。它不确定哪个动作上传内容,如果您使用按钮为不同的状态设置不同的颜色,或者如果您使用单元格,只需编辑所选单元格的颜色。
答案 1 :(得分:0)
这样做的一种方法是,编写解析查询(PFQuery到项类)以查明用户是否已经用户点击过,如果没有,则用户将其保存为新对象,否则就没有了需要再次保存它。
答案 2 :(得分:0)
这应该这样做
如果你必须保存一个NSString变量,我会在User类中创建一个Item列并将其保存在那里。这样,如果用户多次点击同一个单元格,他将一次又一次地覆盖相同的字符串。
[saveInBackgroud];
答案 3 :(得分:0)
在背景中使用保存
[parseObject saveInBackgroud];