iOS 고전 설명 Swift 매 거 진 (Enum), 프로 토 콜 (protocol), 확장 (Extension)

저자: LovingiOS
전재 출처 표시:http://blog.csdn.net/loving_ios/article/details/49406865
이번 개발 환경 은 Xcode 7.0.1 에서 playground 파일 을 만 드 는 코드 로 작 성 됩 니 다.
//**********************  **************************

//enum    :   {
//    
//    case   1 =   1
//    case   2 =   2
//    
//}

enum PersonIndetity:String {
    case Teacher = "Teacher_id"
    case Student = "Student_id"
}

//  
class Person {
    
    var indeitity:PersonIndetity
    var name:String
    var age:String
    
    //      
    init(name:String, age:String, idd:PersonIndetity) {
        self.indeitity = idd
        self.name = name
        self.age = age
    }
    
    func hello() {
        print("hello")
    }
    //    
    class func hello2() {
        
    }
    
}

//       .            
var person = Person(name: "Tom", age: "30", idd: PersonIndetity.Student)

//       
//       
person.indeitity.hashValue
//       
person.indeitity.rawValue

//      :   

class Student:Person {
    
    //      
    var classNumber:Int = 23
    init(name: String, age: String, idd: PersonIndetity, classNumber:Int) {
        
        //              super.init        
        super.init(name: name, age: age, idd: idd)
        self.classNumber = classNumber
        
    }
    
    //            override   
    override func hello() {
        
    }
  override class func hello2() {
    
    }
    
}

//   
protocol OneProtocol {
    
    func typeFunc()
    static func typeFunc2()
    mutating func typeFunc3()
    
}

//                               

class newStudent:OneProtocol {
    
    func typeFunc() {
        
    }
    static func typeFunc2() {
        
    }
    
   func typeFunc3() {
        
    }
}


struct VideoNew:OneProtocol {
    
    func typeFunc() {
        
    }
    static func typeFunc2() {
        
    }
   mutating func typeFunc3() {
        
    }
}

//                       
//class StudentNew:Person, OneProtocol {
//    
//}

@objc protocol SecondProtocol {
    optional func hello()
}

//   :        optional                @objc                   


//   
var value:String = ""
extension Person {
    
    func helloworld() {
        
    }
    
    //                
    var stu:String {
        get{
            
            return value
        }
        set {
            value = newValue
        }
    }
    
    //          convenience
    convenience init(name:String, age:String, idd:PersonIndetity, stu:String) {
        self.init(name:name, age:age, idd:idd)
        self.stu = stu
    }
}

var person_one = Person(name: "Tom", age: "20", idd: PersonIndetity.Student, stu: "  ")
person_one.stu
person_one.stu = "  "
person_one.stu

좋은 웹페이지 즐겨찾기