Swift) ์ฐ์ฐ์ == ์ === ์ ์ฐจ์ด == ์ฐ์ฐ์ a == b: a์ ๊ฐ๊ณผ b์ ๊ฐ์ด ๊ฐ์์ง ๊ฐ์ ๋น๊ต let value1 = 1 let value2 = 2 print(value1 == value2) // false === ์ฐ์ฐ์ a === b: a๊ฐ ์ฐธ์กฐํ๊ณ ์๋ ์ธ์คํด์ค์ b๊ฐ ์ฐธ์กฐํ๊ณ ์๋ ์ธ์คํด์ค๊ฐ ๊ฐ์์ง ๋ ํผ๋ฐ์ค๋ฅผ ๋น๊ต let p1 = Person(id: 1, name: "kim") let p2 = Person(id: 1, name: "kim") let p3 = p1 print(p1 === p2) // false print(p1 === p3) // true `==`๋ stack ์์ญ์ ๊ฐ์ ๋น๊ต, `===`๋ heap ์์ญ์ ๊ฐ์ ๋น๊ต ์ฐธ๊ณ ์๋ฃ https://developer.apple.com/documentation/swift/=.. 2022. 9. 24. @State, @Binding , @ObservedObject, @Published, @StateObject, @EnvironmentObject @State SwiftUI๋ state๋ก ์ ์ธํ ๋ชจ๋ ํ๋กํผํฐ์ ์คํ ๋ฆฌ์ง๋ฅผ ๊ด๋ฆฌ @State๋ฅผ ์์ ์ถ๊ฐํ๋ฉด SwiftUI๊ฐ ์๋์ผ๋ก ๋ณ๊ฒฝ์ฌํญ์ observeํ๊ณ ํด๋น state๋ฅผ ์ฌ์ฉํ๋ view๋ถ๋ถ์ ์ ๋ฐ์ดํธ view ์ธ์คํด์ค๋ฅผ ๋ง๋ค๋ฉด์ ํด๋น view์ state ํ๋กํผํฐ๋ ์ด๊ธฐํํ๋ฉด ํ๋กํผํฐ๋ฅผ ๊ด๋ฆฌํ๋ swiftui์ ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก, ํญ์ stateํ๋กํผํฐ๋ฅผ private์ผ๋ก ์ ์ธ @Binding // ๋ถ๋ชจ view struct PlayerView: View { var episode: Episode @State private var isPlaying: Bool = false var body: some View { VStack { Text(episode.title) .foregroundSt.. 2022. 9. 13. Unable to locate the App Tracking Transparency permission request when reviewed on iOS 15.4.1. iOS 15.4.1 ๋ฒ์ ์์ App Tracking Transparency permission request ํ๋กฌํํธ ์ฐฝ์ด ๋จ์ง ์๋๋ค๋ ์ฌ์ ๋ก ์ฑ ์ฌ์ฌ๊ฐ ๊ฑฐ์ ์ด ๋ฌ์๋ ์ด์ ๋ฆฌํฌํธ ์์ ์ฌ์ ๊ฐ ๊ธฐ์กด์ ๊ฑฐ์ ๋ฌ์๋ ์ฌ์ ๋ ์๋๊ณ , app tracking transparency ์์ ์ฌํญ๋ ์์๊ณ , ํ ์คํธํฐ(iphone13 with ios 15.4.1)์์๋ ๋์ ํ ๊ฑฐ์ ์ฌ์ ๋ฅผ ์ํ ํด๋ณผ์๊ฐ ์์๋ค .. ์ด๋ฆฌ์ ๋ฆฌ ์ฝ์งํด๋ณธ๊ฒฐ๊ณผ, ios 14๋ฒ์ ์ด์์์๋ ATTrackingManager.requestTrackingAuthorization ์ ํตํด์ ์ ์ ์๊ฒ IDFA ์ ๊ทผ๊ถํ์ ํ๋กฌํํธ๋ก ์์ฒญํด์ผํ๋๋ฐ ์ค๋๋ ๋๋ฐ์ด์ค ex) iphone6 with iOS 15.4.1 ์์๋ ์ฑ์ ์ง์ ๋ค๊ฐ ์ฌ์ค์นํด๋ ๊ณต์๋ฌธ์( h.. 2022. 5. 13. Property Wrapper Property Wrapper A property wrapper adds a layer of separation between code that manages how a property is stored and the code that defines a property. For example, if you have properties that provide thread-safety checks or store their underlying data in a database, you have to write that code on every property. When you use a property wrapper, you write the management code once when you define.. 2022. 4. 28. Xcode ๋ฒ์ ๋ณ ์ง์๋๋ SDK ์ต์ ์๊ตฌ ์ฌํญ ๋ฐ ์ง์๋๋ SDK Xcode ๋ฒ์ ํ์ํ ์ต์ OS SDK์ํคํ ์ฒ๋ฐฐํฌ ๋์์๋ฎฌ๋ ์ดํฐSwift Xcode ๋ฒ์ ํ์ํ ์ต์ OS SDK ์ํคํ ์ฒ ๋ฐฐํฌ ๋์ ์๋ฎฌ๋ ์ดํฐ Swift Xcode 13.3 macOS Monterey 12 iOS 15.4 macOS 12.3 tvOS 15.4 watchOS 8.5 DriverKit 21.4 x86_64 armv7 armv7s armv7k arm64 arm64e arm64_32 iOS 9~15.4 iPadOS 13~15.4 macOS 10.9~12.3 tvOS 9~15.4 watchOS 7~8.5 DriverKit 19~21.4 iOS 12.4~15.4 tvOS 12.4~15.4 watchOS 7~8.5 Swift 4 Swift 4.2 Swift 5.6.. 2022. 4. 28. self vs Self ์๋ฌธ์ self ์ธ์คํด์ค ์์ฒด ์ ๊ทผ ์ ์ฌ์ฉ๋๋ ์ฐธ์กฐ๊ฐ self๋ ์ฐธ์กฐ ํ์ value type์์์ self๋ stack์์ญ์ ์กด์ฌํ๋ instance๋ฅผ ๊ฐ๋ฆฌํค๋ ํํ reference type์์์ self๋ heap ์์ญ์ ์กด์ฌํ๋ instance๋ฅผ ๊ฐ๋ฆฌํค๋ ํํ ๋๋ฌธ์ Self Self๋ type๊ทธ ์์ฒด๋ฅผ ์๋ฏธ -> ํ์ ์ ์ ์ํ ๋ ์ฌ์ฉ Self.self๋ type object๋ฅผ ์๋ฏธ -> ํ์ ์ ๋๊ธธ๋ ์ฌ์ฉ protocol ๋ด๋ถ์์์ Self ์๋ฏธ: protocol ์์ ์ด ์๋, ์๊ธฐ ์์ ์ ์ฑํํ ํ์ ์ ์๋ฏธ Class์์์ Self ์๋ฏธ : ํด๋น ์ธ์คํด์ค์ ํ์ ์์ฒด๋ฅผ ํํ ์ฐธ๊ณ ์๋ฃ https://ios-development.tistory.com/600 2022. 4. 27. ์ด์ 1 2 3 4 5 ยทยทยท 13 ๋ค์