iOS 核心数据更新 : changes not saved
<p><p>我正在尝试在我的 iPad 应用程序中使用 Core Data。</p>
<p>我有一个这样的模型:</p>
<p>客户.h</p>
<pre><code>#import <CoreData/CoreData.h>
@interface Customer : NSManagedObject
@property (nonatomic,strong) NSString *name;
@end
</code></pre>
<p>客户.m</p>
<pre><code>#import "Customer.h"
@implementation Customer
@synthesize name;
@end
</code></pre>
<p>表格 ViewController 显示数据库中的所有客户。通过选择客户,将启动详细信息 View 推送序列并设置客户:</p>
<pre><code>- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Get the new view controller using .
// Pass the selected object to the new view controller.
CustomerDetailViewController *detailViewController = (CustomerDetailViewController*) ;
detailViewController.customer = ;
}
</code></pre>
<p>在详细 ViewController 中,如果更改,操作保存应该保存客户:</p>
<pre><code>- (IBAction)save:(id)sender
{
AppDelegate *delegate = (AppDelegate*)[ delegate];
NSManagedObjectContext *moc = ;
self.customer.name = self.nameTextField.text;
NSError *error;
if (!)
{
NSLog(@"Can't Save! %@ %@", error, );
}
}
</code></pre>
<p>虽然改了名字,但没有保存更改:虽然没有出现错误(错误为零,日志未显示)... </p>
<p>此外:</p>
<pre><code>BOOL customerHasChanges = ;
BOOL mocHasChanges = ;
</code></pre>
<p>都是假的!</p>
<p>但是插入新实体可以正常工作:</p>
<pre><code>Customer *customer = ;
;
NSError *error;
;
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您的实现文件中有错误。使用 <code>@dynamic</code> 而不是 <code>@synthesize</code>。 </p></p>
<p style="font-size: 20px;">关于iOS 核心数据更新 : changes not saved,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/19477604/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/19477604/
</a>
</p>
页:
[1]