둘.Swift.를 처음 알게 되었습니다.우리 프로그램 날아오르게~ (문자열, 수조, 사전)

5202 단어
이어서
하나.Swift.를 처음 알게 되었습니다.우리 프로그램 날아오르게 (기초문법) 다들 swift에 대해 조금은 알고 있지 않나요?
  • 여기서 저는 지난 편에서 다 말하지 못한 문법에 따라 계속 업데이트를 할 것입니다. 지난 편은 편폭이 너무 길어서 관중에게 보여지면 바로 오른쪽 상단의 충동을 방지하기 때문에 다시 한 번 새로운 문장을 업데이트하고 계속 공부합니다~
  • 여기서 여러분과 작은 지식을 보충합니다. 옵션 교체 조작부호 "??"
  • ##    `??`    
    
      * `??`           `  /  `        `nil`,                
      *     Swift    ,`??`          
    
      swift
      let num: Int? = nil
    
      let r1 = (num ?? 0) + 10
      print(r1)
    
         import UIKit
    
            class ViewController: UIViewController {
    
               override func viewDidLoad() {
                    super.viewDidLoad()
        
                    // var          nil
                    // let          ,        
                    let oName: String? // = "  "
                    //        ,        ,       ,         
                    oName = "  "
                    //        
            //        oName = " xx"
        
                    if oName != nil {
            print(oName! + "  !")
                    }
        
                    // ??     ,             nil,    nil,       
                    print((oName ?? "") + "  !")
        
                    print("-------")
                    // ??        ` `
                    print(oName ?? "" + "  !")
                }
    
            }   
    
  • 스트링 유형
  • String은 구조체로서 성능이 더욱 높습니다. String은 현재 대부분의 NSString 기능을 갖추고 있습니다.
    NSString은 OC 객체로서 성능이 약간 떨어지는 Swift는 String과 NSString 사이의 원활한 전환을 제공한다
      import UIKit
    
     class ViewController: UIViewController {
    
    /**
           
            Swift    String   
                   
                    
                      
                      
            OC   NSString   
                    NSObject    
                NSString      
    */
    override func viewDidLoad() {
        super.viewDidLoad()
        
        demo5()
    }
    
    //       ,  :  Swift   String          ,     NSString
    func demo5() {
        
        let str = "hello world"
        
        let s1 = (str as NSString).substringWithRange(NSMakeRange(2, 5))
        print(s1)
        
        // ---    --         ,Swift   ,     
        let s2 = str.substringFromIndex("1234".endIndex)
        print(s2)
        
        //      ..<
        // advancedBy   ,    ,      
        let startIndex = str.startIndex.advancedBy(2)     // 0
        let endIndex = str.endIndex.advancedBy(-2)         // 11
        
        let range = startIndex..

    집합수 그룹 수조는 [] 정의를 사용하는데 이 점은 OC와 같다
    //: [Int]let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    

    두루
    for num in numbers { print(num)}
    

    아래 첨자로 지정한 항목 가져오기
      let num1 = numbers[0]let num2 = numbers[1]
    

    가변 & 불가변let 정의 불가변수 그룹 var 정의 불가변수 그룹
    let array = ["zhangsan", "lisi"]//:              //array.append("wangwu")var array1 = ["zhangsan", "lisi"]//:           array1.append("wangwu")
    

    배열의 유형이 초기화되면 모든 컨텐트 유형이 일치하고, 배열에 저장된 컨텐트는 초기화되면 모든 컨텐트 유형이 일치하지 않으며, 배열에 저장된 컨텐트는 NSObject입니다.
    //: array1       String     //array1.append(18)var array2 = ["zhangsan", 18]//:   Swift  ,           ,        `NSNumber`array2.append(100)//:   Swift  ,             ,        `NSValue`array2.append(NSValue(CGPoint: CGPoint(x: 10, y: 10)))
    

    그룹의 정의와 실례화 사용: 그룹의 형식만 정의할 수 있습니다. 실례화하기 전에 값을 추가하는 것을 허용하지 않습니다. 형식은 빈 그룹을 실례화할 수 있습니다.
    var array3: [String]//:            //array3.append("laowang")//:          array3 = [String]()array3.append("laowang")
    

    수조의 합병은 반드시 같은 유형의 수조가 있어야만 합병 개발 중일 수 있으며, 통상적으로 수조에 저장된 대상 유형은 모두 같다!
    array3 += array1//:                ,            //array3 += array2//array2 += array3
    

    배열 삭제
    //:          array3.removeAtIndex(3)//:     array3.removeAll()
    

    메모리 할당 배열에 요소를 추가하여 용량을 초과하면 기존 용량에서 직접 * 2
    var list = [Int]()for i in 0...16 { list.append(i) print("   \(i)    \(list.capacity)")}
    

    사전 정의도 마찬가지로 [] 정의 사전을 사용합니다 let 불변 사전 var 가변 사전 [string: NSObject]은 가장 자주 사용하는 사전 형식입니다
    //: [String : NSObject]          var dict = ["name": "zhangsan", "age": 18]
    

    값 부여 값은 dict[key] =value 형식을 직접 사용합니다 키가 존재하지 않으면 새 값을 설정합니다 키가 존재하면 기존 값을 덮어씁니다
    //: *    key    ,     dict["title"] = "boss"//: *    key   ,      dict["name"] = "lisi"dict
    

    k, v 를 누비면 앞 의 키 를 마음대로 쓸 수 있다
    뒤에 있는 것은value입니다
    //:   for (k, v) in dict { print("\(k) ~~~ \(v)")}
    

    병합 사전이 키가 존재하지 않으면 새 값을 만들 것입니다. 그렇지 않으면 기존 값을 덮어씁니다
    //:     var dict1 = [String: NSObject]()dict1["nickname"] = "   "dict1["age"] = 100//:    key    ,     ,        for (k, v) in dict1 { dict[k] = v}print(dict)
    

    iOS 기술 성장군: 255032637 원하는 파트너가 있으면 장기적으로 공부하고 격려할 수 있습니다!

    좋은 웹페이지 즐겨찾기