【问题标题】:Logic to find states in an Enum在枚举中查找状态的逻辑
【发布时间】:2010-10-13 16:24:23
【问题描述】:

我有一个将枚举值作为参数引入的方法。

enum {
   UITableViewCellStateDefaultMask                     = 0,
   UITableViewCellStateShowingEditControlMask          = 1 << 0,
   UITableViewCellStateShowingDeleteConfirmationMask   = 1 << 1
}; 

有四个可能的值:

  1. 只有UITableViewCellStateDefaultMask 是真的。
  2. 只有UITableViewCellStateShowingEditControlMask 是真的。
  3. 只有UITableViewCellStateShowingDeleteConfirmationMask 是真实的。
  4. 两者 UITableViewCellStateShowingEditControlMask AND UITableViewCellStateShowingDeleteConfirmationMask 都是真的。

最后一种可能性是我遇到的问题。当且仅当最后两个选项为真时,什么语句会返回真????

(顺便说一句,这是 Objective-C 代码)

谢谢!

【问题讨论】:

    标签: objective-c uitableview enums boolean-logic


    【解决方案1】:
    int mask=UITableViewCellStateShowingEditControlMask|UITableViewCellStateShowingDeleteConfirmationMask;
    BOOL result=(value&mask)==mask;
    

    或者只是

    (value&amp;0x03)==0x03

    如果你觉得懒惰:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 2013-08-15
      相关资源
      最近更新 更多