我想将第一个插入联系人(例如电子邮件地址)的电子地址作为主要地址,第二个地址在插入地址时可能不会成为主要地址。
因此我想修改表格中的implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
方法:
insert
方法LogisticsElectronicAddress
public void insert()
{
ttsbegin;
if (!this.Location)
{
this.Location = LogisticsLocation::create('', false).RecId;
}
super();
this.updatePrimary(this.IsPrimary);
/* This is the modifications I made to check for an other primary address
if (!this.otherPrimaryExists())
{
this.IsPrimary = true;
}
*/
ttscommit;
this.invalidatePresenceInfo();
}
包含:
otherPrimaryExists()
问题是,所有电子地址都成为主要地址,当我关闭表单时,所有主要标记都被删除。如何解决这个问题?
答案 0 :(得分:3)
这是因为您在执行插入后设置了SELECT id, username, avatar_time, fromid, toid, sum(nonlus) FROM (
SELECT
sf_guard_user.id, sf_guard_user.username, sf_guard_user.avatar_time, fromid, toid,sum(chatMessage.fromidlu) - sum(chatMessage.toidlu) as nonlus
FROM chatMessage, sf_guard_user
WHERE (chatMessage.fromid = sf_guard_user.id AND toid=16595 AND toidhidden=0) OR (chatMessage.toid = sf_guard_user.id AND fromid=16595 AND fromidhidden=0)
GROUP by fromid)
Group by id
,并且没有后续更新被调用。
简单的解决方案,只需将代码移到超级调用之上。
isPrimary = true
答案 1 :(得分:3)
修改// WHAT DO I USE HERE IF I'M NOT USING A TABLEVIEW?
//self.tableView.reloadData()
if let fetchResult = frc.fetchedObjects{
if let item = fetchResult.first as? Entity{
textName.text = item.accounttext
descriptionName.text = item.amounttext
imageView.image = UIImage(data: (item.image)! as Data)
}
}
方法如下:
insert
如果在调用public void insert()
{
;
ttsbegin;
if (!this.Location)
{
this.Location = LogisticsLocation::create('', false).RecId;
}
if (!this.otherPrimaryExists())
{
this.IsPrimary = true;
}
super();
this.updatePrimary(this.IsPrimary);
ttscommit;
this.invalidatePresenceInfo();
}
后设置字段值,则该值不会存储在数据库中。