小编Cor*_*all的帖子

在Objective-C中声明和检查/比较(bitmask-)枚举

你知道在Cocoa中有这个东西,比如你可以创建一个UIView并做:

view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
Run Code Online (Sandbox Code Playgroud)

我有一个UIView具有多个状态的自定义,我已经在enum这样定义:

enum DownloadViewStatus {
  FileNotDownloaded,
  FileDownloading,
  FileDownloaded
};
Run Code Online (Sandbox Code Playgroud)

对于每个创建的子视图,我设置它tag:subview1.tag = FileNotDownloaded;

然后,我有一个视图状态的自定义setter,它执行以下操作:

for (UIView *subview in self.subviews) {
  if (subview.tag == viewStatus)
    subview.hidden = NO;
  else
    subview.hidden = YES;
}
Run Code Online (Sandbox Code Playgroud)

但我想做的是允许这样做:

subview1.tag = FileNotDownloaded | FileDownloaded;
Run Code Online (Sandbox Code Playgroud)

所以我subview1出现在我看来的两个状态.目前,由于|运算符似乎添加了两个枚举值,因此它不会出现在这两个状态中的任何一个状态中.

有没有办法做到这一点?

c cocoa enums objective-c bitmask

77
推荐指数
2
解决办法
3万
查看次数

断言等于int long float

是否有一种优雅的方式断言数字是平等的,而忽略了他们的类?我想在JUnit测试框架中使用它,例如

Assert.assertEquals(1,1L)
Run Code Online (Sandbox Code Playgroud)

失败的java.lang.AssertionError:expected:java.lang.Integer <1>但是:java.lang.Long <1>

我希望有一个很好的方法,只比较值,并使用int,long,float,byte,double,BigDecimal,BigInteger,你命名它...

java junit

19
推荐指数
2
解决办法
2万
查看次数

Netbeans 8.0.2`扫描外部更改`暂停,没有自动弹出窗口

我使用NetBeans作为我的IDE.工作几个小时后,我遇到了以下问题

它因扫描暂停外部变化而陷入困境

2.在此之后,auto-load也失败了.它只显示please wait....

因此,我计划更改我的IDE.有没有办法克服这个问题?我以为这是由于我的慢电脑问题.我只是格式化并升级了它.然后它也显示了同样的问题.

我NetNeans是小包装用PHP和HTML只.

它high CPU usage有时也会引起

我的操作系统是带有4 GB内存和i3处理器的Windows 8.1

netbeans hang autoload

6
推荐指数
1
解决办法
6037
查看次数

标签 统计

autoload ×1

bitmask ×1

c ×1

cocoa ×1

enums ×1

hang ×1

java ×1

junit ×1

netbeans ×1

objective-c ×1