小编Ben*_*ero的帖子

为什么Android中有2个setFocusable方法?

我试图设置组件的可聚焦性,并找到了这两种方法,希望我可以使用它们使组件仅在用户触摸时才可聚焦,而不能通过编程方式请求:

myComponent.setFocusable(false);
myComponent.setFocusableInTouchMode(true);
Run Code Online (Sandbox Code Playgroud)

然后我查看了他们的文档

public void setFocusable(布尔型可聚焦)

设置此视图是否可以接收焦点。将其设置为false还将确保该视图在触摸模式下无法聚焦。


public void setFocusableInTouchMode(布尔的focusableInTouchMode)

设置在触摸模式下此视图是否可以接收焦点。将其设置为true也将确保该视图可聚焦。

那么,如果隐式调用任何一个,则为什么要区分?

android focus setfocus android-view

3
推荐指数
1
解决办法
2004
查看次数

什么是Swift语法".bar"?

Swift有这个方便的语法:

enum Foo {
    case bar
    case baz
}


func hoge(foo: Foo) {
}


hoge(foo: .bar) // This
Run Code Online (Sandbox Code Playgroud)

哪个镜像在enums 以外的地方:

struct Qux {
    static let `default` = Qux()
}


func hoge(qux: Qux) {
}


hoge(qux: .default) // This
Run Code Online (Sandbox Code Playgroud)

我不知道在谈话/门票中该怎么称呼它.也许"类型推断点语法"?我不确定.这个语法有官方名称吗?如果是这样,它是什么?

syntax naming swift

3
推荐指数
1
解决办法
269
查看次数

如何发现最低的CGFloat负值?

我知道这些值:

  • CGFloat.infinity,大于
  • CGFloat.greatestFiniteMagnitude,大于
  • CGFloat.leastNormalMagnitude,大于
  • CGFloat.leastNonzeroMagnitude,大于
  • 0

但它就停在那里...据我所知。负值在哪里?我想这也许和-在它们前面放一个字母一样容易,但是然后我担心可能会有奇怪的例外。

如何在CGFloat中找到关键的负数?至关重要的是,最低的负非无限数。

constants cgfloat swift3

2
推荐指数
1
解决办法
536
查看次数

如何在Java中获取n位数的最大十进制值?

在我们的代码中,我们有一个允许的最大位数(比方说8),以十进制表示(如基数10).如何使用此数字来查看可能的值是否在该范围内(099,999,999)?

如果我们使用二进制数字,我会做类似的事情:

value < 1<<(MAX + 1)
Run Code Online (Sandbox Code Playgroud)

但当然这不适用于小数.我也考虑过这样的事情:

Long.toString(value).length() < MAX
Run Code Online (Sandbox Code Playgroud)

但这似乎太沉重了.

java math

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

为什么我的BigDecimal 0.0000不等于BigDecimal.ZERO?

我在Android Java中有以下表达式:

myVar + " == 0 ? " + BigDecimal.ZERO.equals(myVar)
Run Code Online (Sandbox Code Playgroud)

输出以下内容:

0.0000 == 0 ? false
Run Code Online (Sandbox Code Playgroud)

在哪里myVar声明:

public BigDecimal myVar;
Run Code Online (Sandbox Code Playgroud)

并且Gson从服务的JSON数据中成功分配(我检查了这个以验证JSON是否良好). 为什么0.0000作为一个BigDecimal不相等BigDecimal.ZERO

java android bigdecimal

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

#define这个自我有后果吗?

目标C很长,我决定使用self而不是this.现在,我希望通过将此代码放在程序开头或附近的某个地方来结束这种挫败感:

#define this self
Run Code Online (Sandbox Code Playgroud)

我知道这会编译,并且可能会像我期望的那样工作.但是,我不禁认为这有不可预见的后果.这是安全的事情,还是在我试图解决的简单问题之外会出现问题?

objective-c self compiler-constants c-preprocessor

0
推荐指数
1
解决办法
58
查看次数

特别是在Objective-C中的最后一项之前用"和"创建一个以逗号分隔的列表

我想编写一个方法,提供一个人类可读的数组字符串表示,必要时包含逗号空格(包括牛津逗号),最后连接"和".

例如,假设我有这些数组:

NSArray *nun = @[];
NSArray *won = @[@"The Loneliest"];
NSArray *too = @[@"Peas", @"Pod"];
NSArray *tree = @[@"Apple", @"Falls", @"Far, Far Away"];
Run Code Online (Sandbox Code Playgroud)

我想写一个方法,如:

+ (NSString*) humanReadableListFromArray: (NSArray*) arr
{
  // magic
}
Run Code Online (Sandbox Code Playgroud)

当我通过我的数组时,我希望它们看起来像这样:

@""
@"The Loneliest"
@"Peas and Pod"
@"Apple, Falls, and Far, Far Away"
Run Code Online (Sandbox Code Playgroud)

请注意,第一个只有1个项目,只是没有装饰的第一个项目.第二个,正好有两个项目,没有逗号,但确实有连接"和".第三项,包含两个以上的项目,每个项目之间包含一个逗号空间,最后一项包括and在逗号空间之后和项目之前的附加项目.

在Objective C中有一个简短的方法吗?我已经用Java等语言完成了这项工作,但我知道Objective C这样的方法-(NSString*)[NSArray componentsJoinedByString:]可能有助于实现这一点.


使用"和"替换字符串中的最后一个逗号无法解答此问题.(Objective-C)因为它没有解决最后一个数组项中的逗号.我也研究了像Objective-C这样的问题从对象数组中创建逗号分隔字符串的最简单方法,他们没有提到人类可读性这个很好的部分.

arrays string cocoa objective-c human-readable

0
推荐指数
1
解决办法
753
查看次数