개요

야곰님의 스위프트 프로그래밍 책을 읽던 도중 dump 함수라는 존재에 대하여 처음으로 알게 되었다..!

이제 iOS 개발을 시작한지 거의 1년차가 다 되어가지만 공부해서 시작한게 아닌 회사 업무으로 접하게 된 언어라 이런 자세한

부분들을 전에는 잘 몰랐던 것 같다. 그래서 그 동안 print로만 디버깅을 했는데 이 함수가 유용할 것 같아 글을 작성한다

dump 함수란?

dump 함수에 대해서 간략하게 설명하면 print 함수와 달리 더 자세한 정보들까지 출력해주는 함수이다

스위프트에서 제공해주는 기본 함수지만 다른 언어에서는 보기 쉬운 함수가 아니여서 몰랐던 함수였다

사용법은 print와 동일하다, 아래와 같이 사용하면 된다.

dump(...)

print 함수와의 차이점

print 함수는 출력하려는 인스턴스의 description 프로퍼티에 해당하는 내용을 출력해준다.

하지만 dump 함수는 출력하려는 인스턴스의 자세한 내부 콘텐츠까지 출력해준다.

야곰님의 스위프트 프로그래밍 3판이라는 책의 예제를 참고해보겠다.

struct BasicInformation{
	let name: String
    var age: Int
 }
 
 var yagomInfo: BasicInformation = BasicInformation(name: "yagom", age:99)
 
 class Person{
 	var height: Float = 0.0
    var weight: Float = 0.0
 }
 
 let yagom: Person = Person()
 
 yagom.height = 182.5
 yagom.weight = 78.5
 
 print(yagomInfo) //Result : BasicInformation(name: "yagom", age:99)
 dump(yagomInfo)
 /* Result
 	BasicInformation
 -	name : "yagom"
 -	age: 99
 */
 
 print(yagom) //Result : Person
 
 dump(yagom)
 /* Result
	Person #0
 -	height: 182.5
 - 	weight: 78.5
 */

위의 Result와 같이 dump함수에서의 정보가 더 자세하다는 점을 알 수 있다

앞으로는 필요에 따라 둘을 적절하게 섞어 사용하면 좋을 것 같다고 느꼈다.

반응형
복사했습니다!