ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 201008 - TIL
    TIL/2021 2020. 10. 9. 03:50

    Swift 문법

     

    오늘은 꽤 많은 문법을 공부했는데.... 모두 확실하게 이해가 가지 않았다. 오늘은 흐름을 공부한 것이고 다시 세세히 복습하며 완벽하게 이해를 시켜야겠다.

     

    • ARC가 무엇인가?
    • Strong , weak, Unowned Reference
    • Closure Capture List
    • Generic
    • Error protocol
    • do - catch
    • defer Statement

     

     

    포스팅 작성 중 이해가 안 되는 오류가 발생했다.

    func swapNum(a: inout Int, b: inout Int) {
        let temp = a
        a = b
        b = temp
    }
    
    var num1 = 10
    var num2 = 20
    
    swap(a: &num1, b: &num2)
    

    내가 모르는 뭔가가 있는 거 같은데..... 호출문에서 아규먼트 레이블을 삭제하면 잘 호출이 된다.

    흐음.... 뭐가 문제인지 모르겠다.

    입출력 파라미터는 아규먼트 레이블을 꼭 파라미터와 나눠야 하는 건가라는 생각에 

     

    import UIKit
    
    func swapNum(a1 a: inout Int, b1 b: inout Int) {
        let temp = a
        a = b
        b = temp
    }
    
    var num1 = 10
    var num2 = 20
    
    swap(a1: &num1, b1: &num2)

    이렇게 해봣는데도 아니었다..

    201009 추가 : swapNum이 아니라 swap함수를 호출하고 있었다.. swap함수가 Swift에서 제공해주는 함수였다!

    func swap<T>(_ a: inout T, _ b: inout T)

     여기서 아규먼트 레이블이 _ 으로 생략돼있는데 호출문에서 a, b를 사용하려 하니 에러가 발생한 것이었다.

    swapNum으로 바꾸고 나니 오류가 사라졌다. [각주:1]

     

     

     

    iOS

     

    Delegate Pattern에 대해서 공부하는데 테이블 뷰를 공부할 때는 아! 하고 이해가 갔는데....

    이게 또 다른 거로 넘어가니 아리송해졌다... 여러 번 반복하며 공부를 해야겠다ㅠㅠ

    1. 201009 추가 [본문으로]
    728x90

    'TIL > 2021' 카테고리의 다른 글

    201012 - TIL  (0) 2020.10.13
    201009 - TIL  (1) 2020.10.10
    201007 - TIL  (0) 2020.10.08
    201006 - TIL  (0) 2020.10.07
    201005 - TIL  (0) 2020.10.06
Designed by Tistory.