본문 바로가기

Swift7

[Swift]오류처리(2) 저번시간에 이어 오늘도 마저 오류를 처리하는 방법들에 대해서 알아보려고 한다. 오늘은 크게 3가지를 볼 것이다. 첫번째로는 오류가 절대로 나지 않을 것을 확신할 때 오류를 어떻게 처리할 것인지와 두번째로는 오류를 던지는 함수를 매개변수로 받아 다시 또 오류를 던지는 함수 그리고 마지막으로는 후처리 defer에 대해서 알아보자. 1) 오류가 절대 나지않을 것을 확신할 때 오류가 나지 않는 다면 오류 던지는 함수를 try!로 받아주면 아주 간단하게 끝난다. 위의 코드를 보면 somThrowingFunction은 매개변수로 false를 받으면 절대 오류가 나지 않는다. 그러면 오류가 생기지 않음으로 별도로 do catch구문을 사용하지 않아도 된다.(do catch는 오류가 발생했을 때 그 오류를 처리하려고 .. 2020. 8. 16.
[Swift] ARC에 관한 문제 해결하기(클로저에 관하여) 저번 시간에는 클래스를 참조하면서 발생할 수 있는 ARC와 관련된 문제점을 알아보고 약한 참조와 미소유 참조 등 다양한 해결책도 같이 알아보았다. 이번 시간에는 ARC에 관한 마지막 글로 이런 강한 참조 문제가 클로저 내부에서도 발생될 수도 있고 이러한 것을 해결하는 해결책도 같이 알아보려고 한다.(참조가 가능한 것은 클로저와 클래스가 있다.) 1. 문제 발생 원인 다음을 보면 HTMLElement라는 클래스 내부에 지연 저장 프로퍼티인 asHTML이 보인다. 그리고 그속에서 self.text와 slef.name 등이 사용되고 있는 것들도 보인다. 이것은 HTMLElement라는 클래스 내부의 하나의 프로퍼티인 asHTML 클로저내에서 자신이 속해 있는 클래스를 다시 참조하는 것이다. 그래서 우리가 만약.. 2020. 7. 25.
[Swift] ARC의 정의와 발생될 수 있는 문제점 나는 스위프트로 App을 만드는 것을 즐긴다. 하지만 초심자는 "이것이 과연 메모리(ex RAM)에 얼마나 영향(무게)을 줄 것인가"까지 고려하지는 않는다. 눈 앞의 구현도 벅차는게 현실이다. 그럼에도 더 나은 프로그램을 위해 ARC를 알면 좋다. ARC는 램에 영향을 줄이려고 만들어진 체계라고 보면 쉽다. 시작 전에 이 글은 docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html의 내용을 필자가 번역하며 쓴 글임을 밝힌다. 1. ARC란 무엇인가? ARC의 정의는 자동참조 카운팅으로 몇 번 인스턴스가 참조되는 지를 자동으로 파악하는 기술이다. 이것은 현재 스위프트와 Objective-C에서도 사용되고 있다. 인스턴스를 참조한다는 .. 2020. 7. 10.