public void loadInventory(Graphics g){
for (int i = 0; i < slot.length; i++){
if(item != null){
if (slot[i] == null) {
slot[i] = "";
}
} if (slot[i] != null){
g.drawString(item.getName() + ": " + itemGroup.size(), 400, 100 + (i * 25));
}
}
Evertime我从服务器获取项目,相同的项目将插入到dataTable中,因此数据表中有许多相同的项目。 如何使r_id或r_name唯一????
答案 0 :(得分:0)
SRKObject上的唯一键是Id列,因此,只有首先使用查询才能以您建议的方式工作。检索一个对象,如果它不存在则创建一个新对象。
示例:
SRKObject* myObject = [[[[[DLRSS query] whereWithFormat:@"r_id = %@", r_idValue] limit:1] fetch] firstObject];
if (!myObject) {
myObject = [DLRSS new];
}
或者,如果你不喜欢到处都这样做,那就把它放到对象本身。
- (BOOL)entityWillInsert {
// count operations are very fast here
if ([[[[DLRSS query] whereWithFormat:@"r_id = %@", self.r_id] limit:1] count]) {
// setting the Id column to an existing one will cause areplace when `INSERT OR REPLACE INTO DLRSS` is triggered.
self.Id = [[[[[DLRSS query] whereWithFormat:@"r_id = %@", self.r_id] limit:1] distinct:@"Id"] objectAtIndex:0];
}
}