VB 프로그래머가 Swift 입문을 시도했습니다.

6748 단어 포엠SwiftVB. 네 t

자기소개


  • VB 경력: 9년
  • Swift 경력: 약 4개월

  • Udemy 강좌에서 공부
    2011년에 MacBook Air를 구입하고 있었습니다만, Xcode를 1번만 기동해 iOS 앱 만들려고 하고, 만지는 방법이 전혀 모르게 포기한 과거가 있었습니다.
    이번에는 iOS10의 Udemy 강좌을 사서 공부했습니다. 다양한 장면에서 사용할 수있는 코드 기술을 소개하고 있기 때문에 매우 도움이되었습니다.


  • 아젠다


  • 비슷한 점
  • 다른 곳
  • 넘어지는 곳
  • 이번에 만든 것
  • 요약


  • 비슷한 곳


  • UI 개발을 마우스로 할 수 있다
  • 형에 엄격


  • UI 개발을 마우스로 할 수 있다(Swift)





    UI 개발을 마우스로 할 수 있다(Swift)





    UI 개발을 마우스로 할 수 있다(VB)





    UI 개발을 마우스로 할 수 있다(VB)





    형에 엄격



    VB. 뿌리 T


    Dim int As Integer
    If Not Integer.TryParse(TextBox1.Text, int) Then
        int = 9999
    End If
    Label1.Text = CStr(int + 1)
    

    ※ Option Strict를 On으로 설정한 경우

    Swift


    if var int: Int = Int(InputText.text!) {
        int = int + 1
        OutputText.text = String(int)
    } else {
        OutputText.text = "9999"
    }
    

    그러나 금형에 너무 엄격하고 우울하게 느껴지는 측면도 ..

    다른 곳



    여러 가지가 있지만 ...
    내가 훌륭하다고 생각한 곳을 드리겠습니다.
  • 함수가 Null을 반환하는지 즉시 알 수 있습니다.


    함수가 Null을 반환하는지 즉시 알 수 있음 (VB)



    Nothing이 반환하는 것은 문서를 보거나 소스를 쫓거나 트라이 오류 만 있습니다.
    (Nullable을 사용해야하지만 이런 쓰기가 허용됩니다)
    ''' ブランクを渡すとNothingが返る
    Function NullableFunc(ByVal str as String) as List(Of String)
        Dim list As List(Of String) = Nothing
        If Not str.Equals("") Then
            list = new List(Of String)
            list.Add(str)
        End If
        Return list
    End Function
    
    Dim result = NullableFunc("")
    Console.Out(result(0)) ' NothingReferenceException
    

    코딩 규약으로 「함수의 최초로 변수 선언하는 것」이라든지 「반드시 초기화하는 것」이라고 쓰여져 있기 때문에 이런 것에...

    함수가 Null을 반환하는지 즉시 알 수 있음 (Swift)


    func NullableFunc(str: String) -> Array<String>? {
        var list: Array<String> // nil代入できない
        if str != "" {
            list = Array<String>()
            list.append(str)
            return list
        }
        //return list コンパイルエラーになる
        return nil
    }
    
    // Nullable型なので`!`でアンラップする必要がある、だったら事前にnilチェック
    if let val = NullableFunc(str: "") {
        print(val)
    }
    

    VB.NET에서 경고였던 여러분이 컴파일 에러가 된다!!

    넘어진 곳



    class AppDelegate의 행으로 앱이 정지한다



    로그에 이런 오류가 ...
    \'NSUnknownKeyException\', reason: \'[<SampleSwift.CountUpCollectionViewCell 0x7ffbf8901d90> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key count.
    

    컨트롤러에서 컨트롤과 연결되어 있는 변수 이름을 변경한 경우 등에 발생합니다.

    스토리보드에서 ViewController의 노란색 아이콘을 마우스 오른쪽 버튼으로 클릭하면 이와 같은 경고가 표시됩니다.



    이번에 만든 것


  • Swift 앱
  • SelOrder

  • 웹 앱
  • SelOrderWeb



  • 요약



    Swift와 VB.NET 모두 화면의 완성 이미지를 보면서 직관적으로 화면을 만들 수있어 초보자 향한 이미지를 안고있었습니다.
    다만, Swift의 튜토리얼은 영어 밖에 없고, 공부한다면 서적이나 동영상 학습이 중심이 되는 것이라고 생각합니다(나는 이것이 Swift 입문을 망설이고 있던 요인).
    다양한 언어에 접하면 평소 사용하고 있는 언어의 나쁜 곳·좋은 곳이 엿볼 수 있어 VB.NET를 조금 반해했습니다.

    좋은 웹페이지 즐겨찾기