question In OC, enum can have multiple selections. For example:
By combining two enum values with |, you can achieve the effect of multiple selection. Now the question is: how to achieve the same effect in Swift? Option Type in Swift Swift's enum does not support multiple selections, so the option type that supports multiple selections should be implemented using struct: RawOptionSet. To implement the options type yourself, you can refer to this answer. The official SDK is ported using this method. Correct way to write The correct way to write the code in the above example using Swift is as follows:
In OS X 10.10, this works. iOS SDK bugs But in the current version of iOS 8 SDK, this way of writing cannot be compiled. This is because in the iOS 8 SDK, NSStringDrawingOptions has been transplanted to enum: Int instead of struct: RawOptionSet. How to solve this problem? We can only use OC to workaround. Solution Because the options used are the same, I simply wrote this class: OCUtils.h
OCUtils.m
Add the following to Bridging-Header.h:
Swift files used
If there are further requirements, it can be changed to be more general. The overall principle can only be like this. Reference for this article : How to pass multiple enum values as a function parameter Original article: Swift's pitfall: How to implement multiple selection of enum |
<<: CES2015: ZTE releases 6-inch ultra-large screen mobile phone Grand X Max+
>>: Break the 24-hour unspoken rule and create truly innovative apps
When it comes to the factors that can affect keyw...
Recently, Rocket Lab, an American company, reveal...
The era of traffic-centric, barbaric operations h...
In fact, the meaning behind the data is logic and...
How much does it cost to join the Tongcheng Flowe...
Can plants also get cancer? Today, let’s follow t...
The main product model of Internet finance is rel...
On the morning of April 20, affected by the cold ...
When the iPhone 11 was launched, it was criticize...
I often joke with my friends: Young people, don’t...
July 26, 2023 (Beijing time) National Key R&D...
Spring is here The flowers are in full bloom in B...
As the founder, chairman and CEO of Xiaomi Techno...
: : : : : : : : : : : : : : : How is the salary o...
[[147966]] When you develop a game based on HTML5...