목록ios (27)
momodudu.zip
이번에는 UIView에 사용되는 몇가지 레이아웃을 살펴보고자 한다~ 1. 스택 UIKit의 스택은 UIStackView와 대충 매치된다고 생각하면 될 것 같다. 스택 안에 여러가지 뷰들을 배치할 수 있고, 버티컬과 호라이즌, 뎁스 스택이 존재한다. 간단한 예제를 한번 보자. ContentView에 기본 컨테이너를 VStack, 버티컬 스택으로 지정한 후 각 스택 컨테이너마다 Text 컨텐츠를 추가해준 모습이다. struct ContentView: View { var body: some View { VStack { Text("Hello, World!") .foregroundColor(.red) Text("Hello, Swift!") .foregroundColor(.blue) } } } 위 코드에서 사실 버..
오랜만에 쓰는 주말 포스팅! 이번에 새로운 프로젝트를 진행하면서 framework를 swiftUI를 쓰는 앱들에게 제공해주어야 할 경우가 생길것 같아서 SwiftUI에 대해서 새로 공부해보고자 한다! 한 이주전부터 주말에 해야지 해야지 하면서 열심히 놀고먹고 자느라 못했다 -_-... 일단 먼저, SwiftUI가 도대체 뭘까? 기존에 iOS 개발자들이 사용하던 UIKit는 Objective C 기반으로 만들어진 강력한 프레임워크였다. 그러나 오브젝티브씨는 사실 그 자체로도 매우 강력한 언어지만, 프로그래밍언어론적으로 현대적이지 않은 개념들이 여러가지 섞여있어서, 애플에서 Swift를 발표하게 된다. 그렇지만 UIKit은 오브젝티브씨 기반으로 만들어져있기 때문에, Swift가 빠르고 안정적이어도 @objc..
제목 한번 길다... iOS개발을 하다보면, 사실 C/C++ library에 디펜던시를 가지는 경우게 많다. 그래서 사실 많은 iOS 앱들은 코어는 objective-C & C++로 이루어져 있고, 그 코어를 Swift로 wrapping해서 제공하는 경우가 많다. swift에서는 property나 method에 대해 framework 내외부 여부와 오버라이딩 여부까지 해서 모두 접근제한자를 지정할 수 있기 때문에, 특정 Property/Method를 프레임웍 내부에서만 볼 수 있게 하고 외부로는 노출하지 않게 하는게 가능하다. 그러나 Objective-C의 경우, property는 가능하지만 method에 대한 접근제한자는 존재하지 않는다. 그래서 해당 헤더파일이 Public으로 지정되면, 프레임웍으로 ..
이번에 일을 하다가, 조금 설계적으로 고민이 필요한 부분이 있어서 "이걸 어떻게 swift로 구현할까?" 라는 고민을 하기 시작했다. 상황은 이렇다. C++로 설명하자면, Interface가 되는 abstract class가 하나 있고 그 밑으로 이 Interface를 구현하는 subclass들을 만들고 싶었다. 익숙한 C++로 짜면 금방 짤 수 있을텐데, 사실 요새 ios개발자스럽게 코딩하자! 라는 생각을 의식적으로 계속 하고있어서, 어떻게 해야 swift스럽게 잘 짤수 있을까? 를 고민하고 있었다. 인터넷을 조금 찾아보던중에 swift의 abstract class 구현 패턴을 몇가지 찾을 수 있었다. 1. abstract class의 Empty implementation class Animal { f..