gpt4 book ai didi

swift - 在 Swift 2.1 中将多个选项传递给 NSLineBreakMode

转载 作者:行者123 更新时间:2023-11-28 12:59:36 24 4
gpt4 key购买 nike

我正在尝试在 Swift 中为 NSLineBreakMode 传递多个选项。在 Objective C 中这是可行的:

label.lineBreakMode = NSLineBreakByWordWrapping | NSLineBreakByTruncatingTail;

引用this ,我试过像这样在常量中设置选项:

var lineBreakOptions: NSLineBreakMode = [.ByWordWrapping,.ByTruncatingTail]
passageExcerpt.lineBreakMode = lineBreakOptions

但我收到一条错误消息:

Contextual type 'NSLineBreakMode' cannot be used with array literal.

有没有办法为 NSLineBreakMode 的枚举传递多个选项?

最佳答案

NSLineBreakModeenum 类型而不是 OptionSet 类型(即使在 Objective-C 中也是如此)。您只能分配一个案例。

在 Objective-C 中的表达式

 NSLineBreakByWordWrapping | NSLineBreakByTruncatingTail

有效,但它通过“或运算”原始值 0 和 4 仅将模式设置为 NSLineBreakByTruncatingTail,检查这个

NSLog(@"%ld", NSLineBreakByWordWrapping); // 0
NSLog(@"%ld", NSLineBreakByTruncatingTail); // 4
NSLog(@"%ld", NSLineBreakByWordWrapping | NSLineBreakByTruncatingTail); // 4

所以 Swift 等价物就是

label.lineBreakMode = .ByTruncatingTail

关于swift - 在 Swift 2.1 中将多个选项传递给 NSLineBreakMode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34228547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com