【问题标题】:Is this Boolean comparison correct?这个布尔比较是否正确?
【发布时间】:2010-08-28 15:29:21
【问题描述】:

我有一个带有布尔属性的 managedObject。我需要比较 this 的值,然后在需要时隐藏一个按钮。

有几个注意事项,首先可以设置 isBookmarkHidden 布尔值,并将覆盖 managedObject 的属性,因此按钮无论如何都被隐藏。如果此布尔值为 NO,则它将使用 ManagedObject。

这里的代码 sn-p 就在 viewDidLoad 方法中...

BOOL shouldHideBookmark = (int)[[managedObject valueForKey:@"isBookmarked"] description];

bookmarkButton.hidden = isBookmarkHidden == YES? YES : shouldHideBookmark == YES? YES : NO;

无论我如何编写这段代码,它似乎都不起作用。有什么想法吗?

【问题讨论】:

    标签: objective-c boolean


    【解决方案1】:

    不,这不正确。

    valueForKey: 返回一个对象,当它是一个布尔属性时,它是一个NSNumber。所以应该是:

    BOOL shouldHideBookmark = [[managedObject valueForKey:@"isBookmarked"] boolValue];
    bookmarkButton.hidden = (shouldHideBookmark || isBookmarkHidden);
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-02
    • 2020-07-05
    • 1970-01-01
    • 2019-05-28
    • 2012-08-19
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多