안녕하세요. 이번엔 iOS 개발을 하면서 사용하기 좋은 꿀팁하나 가져와봤습니다.

저는 프로젝트 작업 시 필요하거나 공통으로 쓰이는 기능들을 extension해서 swift파일별로 만들어 작업하는 편입니다.

Ex)
Extension

프로젝트를 진행할 때 코드로 작업을 많이 하는데 View마다 addSubview를 사용하게 되면 중복되는 부분도 많아지고 전체적인 코드 길이도 늘어나면서 가독성이 떨어집니다.
그래서 UIview를 estension해서 addSubviews라는 메소드를 만들어 놓고 사용합니다. 위에 보이는 UIView+ 파일 안에는

1
2
3
4
5
6
7
import UIKit

extension UIView {
    func addSubviews(_ views: [UIView]) {
        _ = views.map { self.addSubview($0) }
    }
}

이런식으로 작성이 되어 있습니다.

addSubviews를 사용하게되면 각 View별로 addSubview해주던 것을 한줄로 처리가 가능해 집니다.

1
2
3
4
5
let parentView = UIView()
let subView = UIView()
let subViewButton = UIButton()
let subLabel = UILabel()
let subImageView = UIImageView()

가 있다고 가정하면 기존에는

1
2
3
4
parentView.addSubview(subView)
parentView.addSubview(subViewButton)
parentView.addSubview(subLabel)
parentView.addSubview(subImageView)

이렇게 길어지는데 addSubviews를 사용하면

1
parentView.addSubviews([subView, subViewButton, subLabel, subImageview])

간단하게 표현할 수 있습니다.

추가로 필요한 extension기능이 있으면 추가로 작성해서 사용하면 됩니다.

업데이트:

댓글남기기