Swift류의 초심자

3104 단어
Swift             
         ,      
 Swift       ?
class Swift     ,     
class    : SuperClass {
    //        
}
  :
    ,      .     rootClass
     ,    .   NSObject( OC NSObject)
        

      

Swift        
    :          
    :             
   :           
       

       OC       :init  
            ,           
             ,                。
      NSObject,              
         

         

        
            ,          
class Person: NSObject {
    var name : String
    var age : Int

    //    NSObject(  )     
    override init() {
        name = ""
        age = 0
    }
}

//     Person  
let p = Person()
         

    ,                 
         
  :          ,   init()  .           
class Person: NSObject {
    var name : String
    var age : Int

    //        ,   init()  
    init(name : String, age : Int) {
        self.name = name
        self.age = age
    }
}

//     Person  
let p = Person(name: "why", age: 18)
     (        )

       ,           
  :
        NSObject,    .
    as!       ,   (       )
class Person: NSObject {
    var name : String
    var age : Int

    //        ,   init()  
    init(dict : [String : NSObject]) {
        name = dict["name"] as! String
        age = dict["age"] as! Int
    }
}

//     Person  
let dict = ["name" : "why", "age" : 18]
let p = Person(dict: dict)
     (  KVC  )

  KVC          
  :
KVC              
          
            0
                  (          nil)
 class PerSon: NSObject {
    
    var name :String
    var age :Int = 0
    
    //         
    override init() {
        
        name = ""
        age = 0
    }
    
    //       
    init(name:String, age:Int) {
        self.name = name
        self.age = age
    }
}

//       (        )

class PerSonDic: NSObject {
    var name : String
    var age : Int
    
    init(dict : [String : NSObject]) {
        name = dict["name"] as! String
        age = dict["age"] as! Int
    }
}

//       (  KVC  )

class PersonKVC: NSObject {
    var name : String?
    var age : Int = 0
    
    init (dict :[String: NSObject]) {
        super.init()
        setValuesForKeysWithDictionary(dict)
    }
}

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
 
    }
    
    override func touchesBegan(touches: Set, withEvent event: UIEvent?) {
        
        let p  = PerSon()
        p.age = 18
        p.name = "wubiao"
        print("name :\(p.name),age:\(p.age)")
        
        //       
        let q = PerSon(name: "dxj", age: 18)
        print("name :\(q.name),age:\(q.age)")

        //  
        let dict = ["name" : "wubiao","age": 18]
        let personDic = PerSonDic(dict: dict)
        print(personDic.name + "\(personDic.age)")
        //KVC
        let personKvo = PersonKVC(dict: dict)
        print(personKvo.name!,personKvo.age)
    }
}

좋은 웹페이지 즐겨찾기