如果 NSManagedObject 子类对象是 NSViewController 的代表对象,这是一个错误吗?

发布于 2024-12-08 10:35:40 字数 495 浏览 0 评论 0原文

NSViewController 子类中,此 BOOL 在控制台中返回“fault is (null)”:

Submission *sub = [self representedObject];
BOOL fault = [sub isFault];
NSLog(@"fault is : %@", fault);

我确实有子 ManagedObject 的属性,所以我知道它可用。 使用 CommitValuesForKeys 进行测试(在上面的正下方,使用相同的方法)为我提供了控制台中的预期属性值。

NSLog(@"[sub commitValuesForKeys:nil] 是:%@", [sub commitValuesForKeys:nil]);

这里的 self 是一个 NSCollectionViewItem,它是 NSViewController 的子类。

in an NSViewController subclass this BOOL returns "fault is (null)" in the console:

Submission *sub = [self representedObject];
BOOL fault = [sub isFault];
NSLog(@"fault is : %@", fault);

i do have the sub managedObject's properties, so i know that its available.
testing with committedValuesForKeys (right below the above in the same method) gives me the expected property values in the console.

NSLog(@"[sub committedValuesForKeys:nil] is : %@", [sub
committedValuesForKeys:nil]);

self here is an NSCollectionViewItem, a subclass of NSViewController.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

携余温的黄昏 2024-12-15 10:35:40

还有一些其他更简洁的方法可以做到这一点:

BOOL fault = YES;
NSLog(fault ? @"Yes" : @"No");

BOOL fault = YES; 
NSLog(@"Bool fault: %d",fault);

通过 How to print Boolean NSLog 中的标志?

There are some other cleaner ways to do this:

BOOL fault = YES;
NSLog(fault ? @"Yes" : @"No");

and

BOOL fault = YES; 
NSLog(@"Bool fault: %d",fault);

via How to print Boolean flag in NSLog?

不爱素颜 2024-12-15 10:35:40

您不能这样检查 BOOL 值。相反,做:

if (fault) {
   NSLog(@"Fault is true");
} else {
   NSLog(@"Fault is false");
}

You can't check the BOOLs value like that. Instead do:

if (fault) {
   NSLog(@"Fault is true");
} else {
   NSLog(@"Fault is false");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文