回傳上級目錄:swift,oc語法(蘋果檔案)和對比
文章目錄
- OC
- 1.oc的列舉值相當于這個檔案中的一個區域變數,只能是整型
- 2.不同列舉中,列舉名稱不可以一樣,在同一檔案
- swift
- 3.列舉里可以寫方法
- 4.列舉的rawValue可以是Float(float也是賦值的后面依次+1)或是String,或是沒有
- 5.可以用Rank(rawValue: 3)方法創建一個列舉實體
OC
1.oc的列舉值相當于這個檔案中的一個區域變數,只能是整型
2.不同列舉中,列舉名稱不可以一樣,在同一檔案
實體代碼
#import "ViewController.h"
enum Week {
one = 100, two, three = 500, four
};
@interface ViewController ()
@property(nonatomic,assign) enum Week week;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
UIView *view = [UIView new];
self.week = two;
switch (self.week) {
case one:
NSLog(@"%d",one);
break;
default:
NSLog(@"%d",four);
break;
}
// Do any additional setup after loading the view.
}
@end
參考博客:
iOS(三)OC中的列舉(NS_ENUM和NS_OPTION)
swift
3.列舉里可以寫方法
4.列舉的rawValue可以是Float(float也是賦值的后面依次+1)或是String,或是沒有
enum Suit{
case spades, hearts, diamonds, clubs
func simpleDescription() -> String {
switch self {
case .spades:
return "spades"
case .hearts:
return "hearts"
case .diamonds:
return "diamonds"
case .clubs:
return "clubs"
}
}
func color() -> String {
switch self {
case .spades, .clubs:
return "black"
default:
return "red"
}
}
}
5.可以用Rank(rawValue: 3)方法創建一個列舉實體
if let convertedRank = Rank(rawValue: 3) {
let threeDescription = convertedRank.simpleDescription()
}
5.列舉實體可以帶引數
enum ServerResponse {
case result(String, String)
case failure(String)
}
let success = ServerResponse.result("6:00 am", "8:09 pm")
let failure = ServerResponse.failure("Out of cheese.")
switch success {
case let .result(sunrise, sunset):
print("Sunrise is at \(sunrise) and sunset is at \(sunset).")
case let .failure(message):
print("Failure... \(message)")
}
// Prints "Sunrise is at 6:00 am and sunset is at 8:09 pm."
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/172420.html
標籤:其他
