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 functions2. *** 作 并 *** 作(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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)