[Swift] 스택 구현해보기
·
💻 CS/자료구조
Stack LIFO : 마지막으로 들어온 놈이 첫번째로 나가는 자료구조 struct Stack { private var stack: [T] = [] public var count: Int { return stack.count } public var isEmpty: Bool { return stack.isEmpty } public mutating func push(_ element: T) { stack.append(element) } public mutating func pop() -> T? { return isEmpty ? nil : stack.popLast() } } 사용 var myStack = Stack() myStack.push(10) myStack.pop() 시간복잡도는 O(1)이다. 그런데 S..
[Tuist] Target 타입
·
🍎 iOS/Tuist
Target 사용할 모듈을 정의할 수 있는 타입입니다. 보통 모듈화는 프로젝트를 만들고 그 안에서 여러 모듈로 구성되어 있는 형태를 구성해서 사용합니다. 그 모듈을 정의하는 타입입니다. platform iOS, mac, watchOS 플랫폼 종류를 선택할 수 있습니다. product app, dynamic framework, static framework, dynamic library, unitTest 등을 선택할 수 있습니다. infoPlist info.plist를 정의하는 곳입니다. (.default : 기본값) 문서에서 매칭되는 key값을 찾거나 추가적으로 값을 넣을 수 있습니다. let infoPlist: [String: InfoPlist.Value] = [ "CFBundleShortVersion..
[Tuist] Project 타입
·
🍎 iOS/Tuist
Project 타입 Project 타입은 프로젝트의 정보들을 정의하고 있습니다. option 트위스트에서 자동으로 만들어주는 파일에 대한 옵션을 조절할 수 있습니다. let options: Options = .options( disableBundleAccessors: true, disableSynthesizedResourceAccessors: true ) packages Xcode SPM을 사용할 경우 이곳에서 정의해서 사용합니다. settings 프로젝트 Build Settings쪽에 들어갈 setting 정보들을 설정합니다. 매칭되는 key값을 문서에서 찾아서 값을 넣어주면 프로젝트 생성 시 설정되어 있습니다. let baseSettings: [String: SettingValue] = [ "SWIF..
JerryiOS
Jerry