OC和Swift中的Options

OC和Swift中的Options,第1张

概述1. OC 和 Swift 中的区别 OC中定义Options typedef NS_OPTIONS(NSUInteger, OCOptions) { OC_Sound = 1 << 0, OC_Title = 1 << 1, OC_Vibrate = 1 << 2, }; Swift 中定义Options // 需要实现OptionSetType协议struct SwiftOptions: O 1. OC 和 Swift 中的区别 OC中定义Options
typedef NS_OPTIONS(NSUInteger,Ocoptions) { OC_Sound = 1 << 0,OC_Title = 1 << 1,OC_Vibrate = 1 << 2,};
Swift 中定义Options
// 需要实现OptionSetType协议struct Swiftoptions: OptionSetType {    let rawValue: UInt    init(rawValue: UInt) { self.rawValue = rawValue }    static let Swift_Sound = Swiftoptions(rawValue: 1 << 0)    static let Swfit_Title = Swiftoptions(rawValue: 1 << 1)    static let Swift_Vibrate = Swiftoptions(rawValue: 1 << 2 )}

* 在Swift中,可以调用OC的Options,但是,在OC中,不能调用Swift中的Options。 *

在OC中,不能调用Swift中定义的:

Generics Tuples Enumerations defined in Swift without Int raw value type Structures defined in Swift top-level functions defined in Swift Global variables defined in Swift Typealiases defined in Swift Swift-style variadics nested types CurrIEd functions
2. *** 作 并 *** 作(Union)

* ObjectiveC *

Ocoptions options = OC_Sound | OC_Title;

* swift *

let options = Swift_Sound.union(Swift_Vibrate)print(options)
删除选项组合的一部分

* ObjectiveC *

Ocoptions options = OC_Sound | OC_Title; // 3// 删除OC_Sound选项Ocoptions modifIEdOptions = options & (~OC_Sound); // 2

* swift *

let options = Swift_Sound.union(Swfit_Title) // 3let modifIEdOptions = Swiftoptions(rawValue: options.rawValue - Swfit_Title.rawValue) // 1
总结

以上是内存溢出为你收集整理的OC和Swift中的Options全部内容,希望文章能够帮你解决OC和Swift中的Options所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1073882.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存