Skip to content

조회 수 55 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

안녕하세요. 막 개발 입문에 들어선 사람입니다..

 

이것저것 하다보면 에러를 신경 쓸 수 밖에 없는데, 보니까 NSError가 있고 그냥 Error가 있더라구요.

 

이게 무슨 차이가 있는지 궁금해서 먼저 애플 문서를 찾아보았습니다.

 

스크린샷 2020-03-20 오후 6.09.01.png

 

NSError는 클래스이고.. 설명을 보니 뭐 이상한거 많이 갖고있는 에러 상황에 대한 정보라고 하네요.

그럼 어떤 작업을 하다가 에러가 나면 그 에러는 NSError 클래스의 인스턴스가 되는건가..??

 

뭐 일단 읽고 Error 부분을 찾아보았습니다.

 

스크린샷 2020-03-20 오후 6.13.15.png

 

얘는 프로토콜이네요?? 던져진 에러값을 대표하는 타입?? 무슨 말이죠??

 

스크린샷 2020-03-20 오후 6.14.12.png

 

스크린샷 2020-03-20 오후 6.15.34.png

 

아래에 구문이 있길래 한 번 보았습니다..

얘는 상속을 해서 에러를 만드는 건가요?? 에러를 만드는 것 같이 보이는데 통 뭐가 뭔지 모르겠군요..

 

 

여기까지해서 일단 제가 이해한 내용은 아래와 같습니다.

 

에러가 발생할 상황에서 Error 통로? 같은게 생기고 그 안에서 실제 에러 객체들 (NSError 라든지, Error를 상속받아 만든 커스텀 Error 라든지 등등)이 생성되어, 코드 상에서 가져오면 프로퍼티나 메소드를 통해 에러 코드나 메세지 등을 확인할 수 있다.

 

인데.... 이게 맞는지 저도 솔직히 잘 모르겠네요.

 

스택오버플로에 https://stackoverflow.com/questions/40179441/whats-the-difference-between-error-and-nserror-in-swift 이 글도 읽어보았지만.. 부족한 제 역량으로는 아직은 무슨 말인지 이해하기 어렵네요.

 

제일 중요한 차이가 클래스와 프로토콜인 것 같은데...

 

아시는 고수분들 답변 남겨주시면 정말 감사하겠습니다.

  • ?

    다음 사항을 고려하시면 이해가 쉬울 것 같습니다. 1. ERROR 시리즈(?)는 사용법이 달라요. func(메소드, 펑션, 함수)는 실행할 때 ()로 실행을 합니다. ERROR는 던지는 류(?)라 throw로 실행해요. 2. class와 protocol 차이는 인터넷으로 따로 공부하시면 되겠지만 주요 차이점은 이미 구현되어 있느냐 구현 설계만 제공 하느냐의 차이 입니다. 프로토콜 이해가 어렵다면 자바의 인터페이스를 찾으시면 오히려 이해가 더 빠를거예요(제 생각엔 자바 인터페이스가 좀 더 확실한 설계도 개념이라) 3. throw 키워드로 에러를 던질 때 특정 상황에서의 에러를 던져야 합니다. 제가 가령 XML parser를 만든다고 하고 사용자가 파라미터를 하나 빠뜨렸을 때 제가 만든 함수 내에서 XML 파싱 에러를 던지는 것이죠. 혹은 throw 안 쓰고 print("너 개떡같이 만들었어") 이 후 exit 해버려도 됩니다.(TMI:exit 잘 쓰니 앱 스토어 앱 해당 기능을 가지고도 잘 올라갑니다.) 4. 3번의 선택권이 있다면 특정 에러 상황을 최대한 세분화해서 에러를 던질 때 보다 구체적으로 던지면 좋겠죠? 프로토콜은 기본적으로 이 정도를 구현해라 라는 정도로 보시면 되겠습니다. 에러의 경우 사실 enum 만 있어도 되긴 하죠. 추가로 NS 붙은 것은 잡스가 next 있을 때 S/W 개발자들이 만들었던 것이라 같이 내려오는 것으로 보시면 되고 왜 아직도 통합이 안되냐고 물으신다면, Runtime ERROR와 같이 컴파일러와 묶여서 같이 돌아가는 애들은 앱 단이 아닌 하부단에서 올라오는 것이기에 아직 완전히 Swift 화가 되지 않아서라고 말씀드리고 싶네요. 먼 훗날엔 NSError는 사라지고 Error만 남겠죠.


  1. iOS개발질문방 이용안내 (등록포인트:300, 답변:500, 추천: 500)

    아이폰, 아이패드 관련 개발에 대한 질문을 남겨주세요. 이게시판에 질문 등록시 300 포인트, 답변등록시 500 포인트, 추천 500 포인트 적립됩니다. 좋은 질문이나 좋은답변이라고 생각되시면 꼭! 추천해서 답변자에게 추천포인트를 전달해주세요~ 코드입력방...
    Date2015.03.01 By아이폰데브 Reply1 Views1477 Votes5
    read more
  2. enterprise 배포후 앱 설치 할 수 없습니다 문의

    안녕하세요,   이번에 enterprise로 배포를 하여 링크연결하여 다운을 하려는데 홈화면에 아이콘이미지에 회색 화면으로 나오고 앱을 눌렀을시 "앱을 설치 할 수 없음 나중에 다시 시도하십시오." 라는 문구가 나옵니다.   Xcode로 빌드 하였으며, ios deploym...
    Date2020.03.26 CategoryiOS 일반 By율촐 Reply1 Views39 Votes0
    Read More
  3. swift에서 closure나 functional programming 기능 (filter, reduce)을 if/for대체할수 있다고 얘기하는데.

    제목처럼 생각하는 개발자도 있고 글들도 있드라구요.   개발자가 filter나 reduce 즐겨 사용하는 것은 존중합니다.   해당 기능으로 for/if문을 대체를 할 수 있다고 하는것이 Data 처리만 보고 얘기를 하는것이 아닌가 싶습니다. 개인적인 생각은 굳이 clien...
    Date2020.03.26 Category기타 Bystanley Reply12 Views63 Votes1
    Read More
  4. ios 패턴인증 샘플 소스코드 구합니다

    ios 패턴인증 샘플 소스코드 구합니다   혹시 가지고 계신분들 공유좀 부탁 드리겠습니다 (__)
    Date2020.03.25 CategoryiOS 일반 Byios초보99 Reply2 Views51 Votes0
    Read More
  5. 질문 하나만 더 드리겠습니다.

    Calendar.current 와 calendar.component 는 어떤 차이가 있는건가요? 현재 날짜를 가져와서 조건문에 적용하는 예제로 공부하고있는데요, 해당 문법에대해서 설명이 없어서요! 사진의 코딩들에 대해서 설명이 없어서 이해하기가 쉽지 않네요...  가장 상단의 ...
    Date2020.03.25 CategoryiOS 일반 By김만두 Reply1 Views22 Votes0
    Read More
  6. 용어에 관련 된 질문입니다.

    스위프트 공부 막 시작했는데요, 모듈 이라는 용어와 프레임워크 및 라이브러리 라는 용어에 대해서 뜻을 잘 모르겠습니다. 설명 해주신다면 감사하겠습니다!
    Date2020.03.25 CategoryiOS 일반 By김만두 Reply1 Views42 Votes0
    Read More
  7. ios개발질문 드립니다 alert

    타이머같은걸로 alert다이얼로그를 시간이되면 자동으로 화면에 띄어야되는데 버튼을 눌렀을때도 다이얼로그를  띄어야합니다. 그런데 타이밍이 맞으면 버튼누른 다이얼로그와 타이머 다이얼로그 둘다 충돌나서 그런지  꺼져버립니다 혹시해결할 방법이 있을까...
    Date2020.03.24 CategoryiOS 일반 By루이21세 Reply4 Views63 Votes0
    Read More
  8. 런치 스크린 질문드립니다!

    런치 스크린에 둥근 이미지를 추가하려 합니다. 평소에는  " ImageView.layer.cornerRadius = ImageView.frame.height/2 " 이렇게 했는데 런치 스크린에서는 뷰 컨트롤러를 지정 못하더라고요 어떻게 둥근 이미지를 추가할수 있을까요?  
    Date2020.03.24 CategoryiOS 일반 By백마금편 Reply1 Views38 Votes0
    Read More
  9. 소모성 상품에 대한 결제 취소 및 환불

    안녕하세요. 인앱 결제 개발 진행 중, 확인이 되지 않는 내용이 있어서 이렇게 질문을 남깁니다.   갱신 상품에 대해서는 상품 구독 취소나 환불에 대한 결과를 영수증 검증으로 확인할 수 있습니다.   소모성 상품에 대해서는 상품 취소나 환불은 영수증 검증...
    Date2020.03.23 Category결제/인앱 By김민수 Reply0 Views38 Votes0
    Read More
  10. 안녕하세요. 앱 스토어 내 애플 아케이드 게임 구독 서비스에 관련 질문 있습니다.

    구글링도 해 보고, 여러가지 자료도 찾아보려고 노력 했지만, 애플 아케이드 내에 출품된 게임들에 대해서, 개발자 수익 부분에 대해서는 자료를 찾을 수 없어서요.   보통의 경우, 인앱결제의 30%를 제외한 나머지를 개발자가 갖고간다는것은 알고 있는데,   ...
    Date2020.03.22 CategoryiOS 일반 By김만두 Reply0 Views40 Votes0
    Read More
  11. NSError와 Error의 차이가 궁금합니다.

    안녕하세요. 막 개발 입문에 들어선 사람입니다..   이것저것 하다보면 에러를 신경 쓸 수 밖에 없는데, 보니까 NSError가 있고 그냥 Error가 있더라구요.   이게 무슨 차이가 있는지 궁금해서 먼저 애플 문서를 찾아보았습니다.     NSError는 클래스이고.. ...
    Date2020.03.20 CategoryiOS 일반 By주하리 Reply1 Views55 Votes0 file
    Read More
  12. swift에서 국가 언어코드 , RTL을 받는데 국가 언어 코드 및 RTL이 바뀌질 않습니다 ㅜㅜ

      swift에서 국가 언어 코드 변경 테스트 중 언어 코드가 변경되지 않아 질문드립니다    한국어 -> 사우디아라비아 -> 영어 순으로 변경하면 영어 -> 힌디어 -> 영어 순으로 변하게됩니다   하지만 한국어 -> 영어 -> 일본어 순으로 변경해보았습니다만 국가 ...
    Date2020.03.20 CategoryiOS 일반 By스위프트넘어렵다 Reply1 Views41 Votes0
    Read More
  13. 유튜브처럼 스와이프로 화면내리는기능질문드립니다

    제목그대로 유튜브에서 영상을 보다가 플레이어쪽에서 아래방향으로 스와이프제스쳐를주면   뷰가 밑으로 이동하고 popviewcontroller한거마냥 이전뷰가 나와서 앱을 사용하는데 이런 기능은 어떻게 구현한건지 궁금합니다   대표적으로 쓰이는 라이브러리가 ...
    Date2020.03.19 CategoryiOS 일반 Byumtaeng Reply2 Views76 Votes0
    Read More
  14. 라이브러리 || 프레임워크 제작 관련 질문

    안녕하세요,   업체 요청으로 당사 기능을 담은 SDK를 Swift로 제작 중인데 몇 가지 질문 사항이 있습니다.   저번 질문과 내용이 조금 중복일 수 있는데     첫번째, 라이브러리로 제작하는 것과 프레임워크로 제작하는 것 다른가요?   일단은 깃허브에 올려 ...
    Date2020.03.18 CategoryiOS 일반 By영가미 Reply6 Views55 Votes0
    Read More
  15. 배포시 오류? 질문 드립니다.

    구글링을 해보니 Application loader 를 사용하라고 하는데 xcode11 에서는 없어졌다고 해서 질문 드려요 xcode 버전은 Version 11.3.1 입니다. 해결 방법 좀 없을까요? 감사합니다
    Date2020.03.17 CategoryXcode By다중 Reply6 Views60 Votes0 file
    Read More
  16. 뷰 컨트롤러 헤더파일을 나누는 이유가 뭔가요?

    안녕하세요 swift 초보 학생입니다. swift 공부를 하던중 예제를 보다가 뷰 컨트롤러의 .h 파일과 .m파일이 따로 있는것을 보았는데요   학교에서 c++ 수업을 들을때 헤더파일을 따로 정의하는 이유가 코딩을 깔끔하게 하려는 이유라는것을 배우긴했지만 .m 파...
    Date2020.03.16 CategorySwift문법 By발로뛰자 Reply2 Views63 Votes0
    Read More
  17. firebase 인증 관련 질문입니다.

    firebase 전화번호 인증에서 문자가 발송이 되지 않네요   시뮬레이터상에서는 문자 전송이 잘 되었습니다.   그런데 어플을 앱스토어에 등록하고 다운로드를 받아 사용할 때 문자 전송을 하지 않네요. ㅠㅠ   @IBAction func sendCode(_ sender: Any) {      ...
    Date2020.03.16 CategoryiOS 일반 By다중 Reply2 Views54 Votes0
    Read More
  18. foreground 를 확인하여 앱이 깔려있는지 확인을 하여 이미지를 변경하려하는데 좀 도와주세요 ㅜㅜ

     foreground 를 확인하여 앱이 깔려있는지 확인을 하여 이미지를 변경하려하는데 좀 도와주세요 ㅜㅜ   일단 제가 해봤던 방법은 첫번째로 scenedelegate 의 foreground 를 확인하여 viewcontroller의 이미지를 변경시키려고 했었으며   func sceneWillEnterFo...
    Date2020.03.15 CategorySwift문법 By스위프트넘어렵다 Reply4 Views62 Votes0
    Read More
  19. swift의 closure와 objc 의 block object 의 차이에 관한 질문입니다.

    swift 에서의 closure와 objc의 block object의 차이가 뭘까요? 하나는 value copy 형태를 취하고 수정이 반영이 안된다 objc 에서도 __block으로 선언하면 swift와 똑같이 수정이 가능하다.   모 회사 면접을 봤는데 면접하는 개발자가 메모리를 미리 할당하...
    Date2020.03.13 CategorySwift문법 Bystanley Reply2 Views63 Votes0
    Read More
  20. 웹사이트에서 앱스토어로 이동

    홈페이지에서 버튼 하나로 눌러서 기기가 안드로이드면 구글 앱스토어로 아이폰이면 앱 스토어로 이동하게 할 수 있나요? 방법좀 알려주세요 ㅠㅠ 찾아보니까 다 앱스토어로 가라고 나와서...
    Date2020.03.13 CategoryiOS 일반 By백마금편 Reply1 Views40 Votes0
    Read More
  21. 개발자 등록이 정말 어렵네요. 도음좀 부탁드릴게요

    먼저 제 상황을 설명드릴게요.   저는 개인자격입니다. 회사가 아닙니다.   몇몇 음식점에서 쿠폰활용을 위한 앱을 만들어달라고해서 구글용으로 제작해서 출시했습니다.   이제 애플용이 남았는데    질문1. 제가 먼저 개인 개발자로 등록을 해야하나요? $99...
    Date2020.03.13 CategoryiOS 일반 By바크 Reply2 Views65 Votes0
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 86 Next
/ 86

미답변질문들

아이폰데브 미답변질문들

운영진홈페이지

미노웍스 홈페이지

불편사항접수

아이폰데브 불편사항접수

구독하기

아이폰데브구독하기

후원하기

아이폰데브 후원자명단
아이폰데브 후원하기

아이폰데브 모바일앱

아이폰데브 모바일앱

WWDC Counter

WWDC 날짜 카운터

Socail Media

회원수   전체 : 9,769   오늘 : 3   어제 : 8   |   방문자수   전체 : 2,096,884   오늘 : 862   어제 : 956   |   페이지뷰   전체 : 37,714,140   오늘 : 3,026   어제 : 3,448  

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소