iOS二次发育(swift)枚举

//: Playground - noun: a place where people can play

import UIKit

//Raw Value
enum Month: String{
    case January = "Value_January"
    case February = "Value_February"
    case March = "Value_March"
    case April = "Value_April"
    case May = "Value_May"
    case June = "Value_June"
    case July = "Value_July"
    case August = "Value_August"
    case September = "Value_September"
    case October = "Value_October"
    case November = "Value_November"
    case December = "Value_December"
}
func season(month: Month ) -> String{
    switch month {
    case .January:
        return month.rawValue
    default:
        return ""
    }
}

season(month: Month.January)
print(Month.April)

if let july = Month(rawValue: "Value_July"){
   print(july)
}

//Associate Value

//例1
enum ATMStatus{
    case Success(Int)
    case Error(String)
    case Waiting
}

var balance = 1000
func withdraw( amount: Int ) -> ATMStatus{
    if amount <= balance {
        balance -= amount
        return .Success(balance)
    } else {
        return .Error("Not enough money")
    }
}
let result = withdraw(amount: 800)
switch result {
    case let .Success(newBalance):
        print("\(newBalance) Yuan Left in your account.")
    case let .Error(errorMessage):
        print("error:\(errorMessage)")
    case .Waiting:
        print("Waiting")
}

switch result {
    case .Success:
        print("Success")
    case .Error:
        print("Error")
    case .Waiting:
        print("Waiting")
}

//例2
enum Shape{
    case Square(side: Double)
    case Rectangle(width: Double, height: Double)
    case Circle(centerX: Double, centerY: Double, radius: Double)
    case Point
}
let square = Shape.Square(side: 10)
let rectangle = Shape.Rectangle(width: 20, height: 30)
let circle = Shape.Circle(centerX: 0, centerY: 0, radius: 15)
let point = Shape.Point

func area(shape: Shape) -> Double{
    switch shape {
    case let .Square(side):
        return side * side
    case let .Rectangle(width, height):
        return width * height
    case let .Circle(_, _, r):
        return M_PI * r * r
    case .Point:
        return 0
    }
}
area(shape: square)
area(shape: rectangle)
area(shape: circle)
area(shape: point)
时间: 2024-11-10 16:15:46

iOS二次发育(swift)枚举的相关文章

iOS二次发育(swift)类

类的初探 class Person{ var firstName: String var lastName: String init(firstName:String, lastName:String) { self.firstName = firstName self.lastName = lastName } func out() -> String { return self.firstName + self.lastName } func goEast() { self.firstNam

[iOS翻译]《The Swift Programming Language》系列:Welcome to Swift-01

本文转载至:http://www.cnblogs.com/yangfaxian/p/3765081.html 全书目录: 一.Welcome to Swift 二.Language Guide 三.Language Reference /* 译者的废话: 几个小时前熬夜看了WWDC,各种激动,今年很有料啊!当看到Swift出来的时候,瞬间傻眼,又要学习新语言了.这篇文章来自苹果官方的<The Swift Programming Language>一书,500页左右,在苹果官网有下载.Swift

Swift - 枚举

1,首先打开xcode,新建一个swift的工程. 2,定义第一种枚举  方法如下: import Foundation println("Hello, World!") //定义一个枚举 enum //Direction这个是枚举的名字 enum Direction { //在枚举中定义的值(如North,South,East和West)是枚举的成员值(或成员).这个例子里case关键字表示成员值一条新的分支将被定义 case North case South case East c

iOS 从Objective-C到Swift

前言: 博主功力有限, 也是在学习的过程中, 之前写了几篇在iOS开发中使用Swift进行开发偏向于UI方向的文章, 明显地感觉到OC与Swift的之间的一些区别与联系, 并且还有一些值得注意的地方, 希望看到这篇文章的小伙伴更快地上手Swift. , 最近自己的状态也是很糟糕, 更糟糕的是感冒了(囧~). 有什么错误请评论指出, 谢谢. 一 属性 OC中 我们最常用的property // 常常会这样写 @property (nonatomic, copy) NSString *name; S

iOS学习笔记44-Swift(四)枚举和结构体

一.Swift的枚举 枚举是一系相关联的值定义的一个公共的组类型,同时能够让你在编程的时候在类型安全的情况下去使用这些值. Swift中的枚举比OC中的枚举强大得多, 因为Swift中的枚举是一等类型,它除了可以定义枚举值外,还可以在枚举中像类一样定义属性和方法 1. 简单枚举定义和使用 //定义枚举,使用enum关键字 enum Method{ case Add case Sub case Mul case Div } //可以连在一起写,成员之间用","隔开 enum Compas

Ios二维码扫描(系统自带的二维码扫描)

Ios二维码扫描 这里给大家介绍的时如何使用系统自带的二维码扫描方法和一些简单的动画! 操作步骤: 1).首先你需要搭建UI界面如图:下图我用了俩个imageview和一个label 2).你需要在你当前的控制器中导入 #import <AVFoundation/AVFoundation.h> <AVCaptureMetadataOutputObjectsDelegate>代理 3).在@interface中定义 @property (nonatomic,strong)AVCapt

Swift 枚举和结构

枚举 使用enum创建枚举--注意 Swift 的枚举可以关联方法: 1 enum Rank: Int { 2 case Ace = 1 case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten 3 case Jack, Queen, King 4 func simpleDescription () -> String { 5 switch self { 6 case .Ace: 7 return "ace" case .

跟王老师学枚举(二):使用枚举

跟王老师学枚举(二):使用枚举 主讲教师:王少华   QQ群号:483773664 一.Java枚举 (一).枚举的关键字是enum 1 2 3 public enum Grade { } (二).枚举也是一个类 1.枚举的构造方法,默认是私有化的 2.枚举的实例对象,默认public static final 1 2 3 public enum Grade {     A,B,C,D,E } 3.枚举的实例对象的变量名,必须放在所有内容之前 二.使用枚举 (一)默认构造方法 1 2 3 pub

24.swift枚举

import Foundation /* Swift枚举: Swift中的枚举比OC中的枚举强大, 因为Swift中的枚举是一等类型, 它可以像类和结构体一样增加属性和方法 格式: enum Method{ case 枚举值 } */ enum Method{ //    case Add //    case Sub //    case Mul //    case Div // 可以连在一起写 case Add, Sub, Mul, Div } // 可以使用枚举类型变量或常量接收枚举值