gpt4 book ai didi

ios - 关于swift中 "NSStringCompareOptions"struct document的一些问题

转载 作者:行者123 更新时间:2023-11-28 08:43:53 38 4
gpt4 key购买 nike

我只是停留在解释“NSStringCompareOptions”如何工作的 swift 文档中。只是一些新问题。

struct NSStringCompareOptions : OptionSetType {
init(rawValue rawValue: UInt)
static var CaseInsensitiveSearch: NSStringCompareOptions { get }
static var LiteralSearch: NSStringCompareOptions { get }
static var BackwardsSearch: NSStringCompareOptions { get }
static var AnchoredSearch: NSStringCompareOptions { get }
static var NumericSearch: NSStringCompareOptions { get }
static var DiacriticInsensitiveSearch: NSStringCompareOptions { get }
static var WidthInsensitiveSearch: NSStringCompareOptions { get }
static var ForcedOrderingSearch: NSStringCompareOptions { get }
static var RegularExpressionSearch: NSStringCompareOptions { get }
}

当我调用 NSStringCompareOptions() 时,这个结构中包含“init”为什么它允许省略 init 方法“rawValue”?

还有一个问题是我知道

NSStringCompareOptions() 

是新版本吗

NSStringCompareOptions.allZero

意思是“没有选择”

那么下面两者有什么不同呢?

NSStringCompareOptions()

NSStringCompareOptions(rawValue:0)

非常感谢你帮助我。

最佳答案

为了更好地理解,您应该查看 OptionSetType 的定义, NSStringCompareOptions 遵循的协议(protocol)。

除了基本的协议(protocol)定义之外,您还会发现一些扩展:

extension OptionSetType where RawValue : BitwiseOperationsType {
/// Create an empty instance.
///
/// - Equivalent to `[] as Self`
public convenience init()
...
}

还有 SetAlgebraType OptionSetType 符合的协议(protocol):

extension SetAlgebraType {
/// Creates the set containing all elements of `sequence`.
public convenience init<S : SequenceType where S.Generator.Element == Element>(_ sequence: S)
...
}

这些方法在协议(protocol)扩展中的事实表明它们具有自动提供的默认实现。

您可以在 Using Swift with Cocoa and Objective-C 中阅读有关选项集的更多信息.

关于ios - 关于swift中 "NSStringCompareOptions"struct document的一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35818943/

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