์ ์ฒด ๊ธ
103
[Swift] ๋์ด์ ์ ๋ ฌ
2025.08.20
https://www.acmicpc.net/problem/10814 import Foundationstruct Person { var name: String var age: Int var index: Int init(_ info: [String], index: Int) { self.name = info[1] self.age = Int(info[0])! self.index = index }}let N = Int(readLine()!)!var people: [Person] = []for index in 0..
[Swift] ์ขํ ์ ๋ ฌํ๊ธฐ
2025.08.20
https://www.acmicpc.net/problem/11650 import Foundationstruct Index { var x: Int var y: Int}let N = Int(readLine()!)!var locations: [Index] = []for _ in 0..
[Swift] ๊ตญ์์
2025.08.20
https://www.acmicpc.net/problem/10825 import Foundationstruct Student { var name: String var korean: Int var english: Int var math: Int init(_ info: [String]) { self.name = info[0] self.korean = Int(info[1])! self.english = Int(info[2])! self.math = Int(info[3])! }}let N = Int(readLine()!)!var students: [Student] = []for _ in 0..
[Objective-C]SceneDelegate ์ดํ ๋ฐ๋ UIWindow ์ ๊ทผ๋ฒ
2025.06.13
์๋
ํ์ธ์?iOS 13์ ๋ฐ๋ ๊ฑธ ์ 2025๋
์... ...????? ๋ผ๋ ์๊ฐ์ด ๋ค๊ธฐ๋ ํ์ง๋ง์ด๋ค๋ณด๋ฉด ์ดํดํ ์ ์๋ ์ผ์ด ์๋ ๋ฒ์ด๋ค ๋ณดํต ํ์ฌ์ ๋จ์ ์๋ ๋ ๊ฑฐ์ ์ฝ๋๊ฐ ๊ทธ๋ ๋ค ์ฐพ์๋ณด๋ฉด Swift ๊ธฐ๋ฐ ์ฝ๋๋ค์ ๋ง์ด ๋์ค๋๋ฐ Objective-C ์์ ๋ณ๊ฒฝํ๋ ์ฝ๋๋ค์ ๋ง์ด ์ ๋์ค๋๋ผ ๊ธฐ์กด ์ฝ๋๋ ์๋์ ๊ฐ๋ค.SceneDelegate๋ฅผ ์ฌ์ฉํ์ง ์๋ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ,window ๋ณ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ณดํต ์๋์ ๊ฐ์ ์ ์ธ์ ์ฌ์ฉํ๋ค. UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow; UIWindow *window = [[[UIApplication sharedApplication] dele..
[Instruments] Time Profiler ์ฌ์ฉํด์ ์ฑ์ด ๋ฉ์ถ๋ ์ด์ ์ฐพ๊ธฐ
2025.05.08
๋ถ๋ช
........์ฑ๋ฅ์ ์๊ฐํ๋ฉฐ ๊ฐ๋ฐํ๋๋ฐ๋ ์ด๋ ์๊ฐ ๋ณด๋ฉด ์ฑ์ด ๋ฉ์ถ๋ hanging ํ์์ด ์ผ์ด๋ ๋๊ฐ ์๋ค. hanging ํ์์ด ์ผ์ด๋์ง ์๋ ๊ฒ ์ต๊ณ ์ง๋ง ๋ง์ฃผํ๊ฒ ๋๋ค๋ฉด ๋ฐ์๋ค์ด๊ณ ์ด๋ณํ ๋ฐฉ๋ฒ์ ๊ฐ๊ตฌํด์ผ ํ๋ค. ํ๋ฉธ ๊ฒฉ๋
ธ ์ข์ ์ข
๋ง์ด ์ค๊ธฐ ์ ์ ์ ๋นํ ๊ณตํฌ์์ ํ์ถํด์ผ ํ๋ค.Xcode๋ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ์ ๋๋ฅผ ํ๋๊ฒ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง๋ง ์ข์ ๊ธฐ๋ฅ์ด ๊ฝค ๋ง๋ค. ๊ทธ ์ค ํ๋๋ Instruments์ธ๋ฐ, hanging ํ์ debuging์ ์ ์ฉํ ๊ฑด Time profiler์ด๋ค. Time profiler ๋ฅผ ์ผ๊ณ ์ผ์ชฝ ์ ๋
นํ ๋ฒํผ์ ๋๋ฅธ ์ดํ์ ํด๋น ํ์์ ์ฌํํด ๋ณด๋ฉด ์์ ๊ฐ์ ์ฌ์ง์ด ๋์จ๋ค.Hangs์ ๋์ ์๋ ๋นจ๊ฐ ๋ถ๋ถ์ด ์ฑ์ด ๋ฉ์ถฐ ์๋ ๋ถ๋ถ์ด๋ค. ^__^ ์๋๋ฉด xcode์์..
Arithmetic Overflow in Swift & Objective-C
2025.04.07
์ต๊ทผ Objective-C๋ก ๋ ์์ค๋ฅผ Swift๋ก ๋ฐ๊พธ๋ ์์
์ ํ๊ณ ์๋ค. (์ด์ ๊ฑฐ์ ๋ง๋ฐ์ง๋ผ๋ ๊ฒ์ด ๋ฏฟ๊ธฐ์ง ์๋๋ค.)Objective-C์์๋ C์ ๋์ผํ ํ์
์ผ๋ก ์ฌ์ฉํ ์ ์์์ง๋ง, Swift์์๋ C์ unsigned char, unsigned int ๊ฐ๋ค์ UInt8, UInt32๋ก ํฌํ
ํ์ฌ ์ฌ์ฉํด์ผ ํ๋ค. ๊ทธ๋ฌ๋ ์ค ... ... arithmetic overflowThread 1: Swift runtime failure: arithmetic overflow ์ด ์ค๋ฅ๋ฅผ ๋ง๋ฌ๋ค.ํด๋น ์ค๋ฅ๋ ๋ฐ๋์ ๋ฐ์ํ๋ ๊ฒ์ ์๋์๋ค. (๋ก์ง์ด ๊ทธ๋ฌ์) ์๋ฌ ๋ฌธ๊ตฌ์์ ์ ์ ์๋ฏ์ด, ์ฐ์ ์ค๋ฒํ๋ก์ฐ๋ก ํ์
์์ ์ฒ๋ฆฌํ ์ ์๋ ๊ฐ ์ด์์ ๋ฃ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ค. ๋ฌธ์ ๊ฐ ์์๋ ๋ณ์๋ UInt8 ํ์
์ผ๋ก, ..
2024๋
ํ๊ณ : ์ผ๋ ๋ฑ๋
์ ์
์ ๋ฒ์ด๋๊ณ ์ถ์ด
6
2025.01.11
์ด์ ๋ง ๊ฐ๋ฐ์ ํ ์ง 2๋
์ ๋๊ฐ ๋์๋ค. ์์ผ... ... ์ฐธ ์๊ฐ์ด ๋น ๋ฅธ ๊ฒ ๊ฐ๊ธฐ๋ ํ๊ณ ๋๋ฆฐ ๊ฒ ๊ฐ๊ธฐ๋ ํ๋ค๋ ์๊ฐ์ด ๋ ๋ค.ํ์ฌ์ ๋ค์ด์จ ์ง๋ 10๊ฐ์! ์ด์ 2์์ด๋ฉด 1๋
์ฐจ ๊ฐ๋ฐ์๊ฐ ๋๋ค๋ ์ฌ์ค์ด ์์ํ๋ค. ... ...์๋
์ด๋ง ๋ ์ทจ์ค์ ํ๊ณ ์์๋ค๋ ์ฌ์ค์ด ๋ ์ด์ํ ์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค. ์๋ฌดํผ. 2023๋
ํ ํด๋ ๋์ ํ๊ณ , ๋ฐฐ์ฐ๋ ๋ฐ ์๊ฐ์ ๋ชจ๋ ์์๊ณ 2024๋
์ ๋ฐฐ์ฐ๊ณ , ๋ ์ ์ํ๋ ๋ฐ ์๊ฐ์ ๋ง์ด ์ด ๊ฒ ๊ฐ๋ค. ์ ์ด๋ ๊ฒ ์๊ฐ์ด ๋นจ๋ฆฌ ๊ฐ์ง?! ์ถ์ ์ ๋๋ก ์์๊ฐ์ ์ง๋๊ฐ๋ 2024๋
์ด๋ผ๊ณ ํด์ผ ํ ๊น. :32023๋
์ ์ ๋
๋ง์ ๊ฑธ ํ๊ณ , ๋๋ฆฌ๊ฒ ๊ฐ๋ ๊ฒ ๊ฐ์๋ฐ 24๋
์ ๋ ํ๋ฒ ๊น๋นกํ๋ ์ง๋๊ฐ ๋๋์ด๋ค. ์ฒ์ ํ์ฌ์ ๋ค์ด์์ ๋๋ ํด๋น ์ฝ๋๋ฅผ ์ด ์ฌ๋์ ์๋๋ ๋ฐฉํฅ๋ณด๋ค๋ ๋จ์ํ..
[SwiftUI Preview error] unrecognized selector sent to instance
1
2024.09.26
Application Specific Information: CoreFoundation: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIButton lbText]: unrecognized selector sent to instance 0x1052ce370' ์ด ์ค๋ฅ๊ฐ ์ ๋๋์ง๋ ์๊ณ ์์๋ค.๋ณดํต swift ํ๋ก์ ํธ์์ ObjC ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ฒ ๋์์ ๋, other linker flag์ `-ObjC`๋ฅผ ์ถ๊ฐ ์ ํด ์ฃผ๋ฉด ํด๋น ObjC ํ์ผ์ ์ค์ํํธ ์ปดํ์ผ๋ฌ๊ฐ ์ฐพ์ง ๋ชปํด ํด๋น ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ์ฆ๋ค. ํ์ง๋ง? ์ด๋ฒ์๋ ๊ทธ๋ฐ ๊ฒฝ์ฐ๋ ์๋์๋ฐ . . ..
XCTestCase
2
2024.09.17
์์ฆ์๋ SwiftTest๋ผ๊ณ SwiftUI์์ ํ๋ ํ
์คํธ๊ฐ ๋ฐ๋ก ์๋๋ฐ ์ฐ๋ฆฌ ํ์ฌ๋ UIKit์ ๊ธฐ๋ฐ์ผ๋ก Objc / Swift๋ฅผ ํผํฉํ์ฌ ์ฌ์ฉํ๊ณ ์์ด XCTest๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.WWDC ์ฆ์๋ถํฐ ๊ณต๋ถํ๋ ๊ฑฐ๋ผ ใฑ- ์๊ณ ๋ณด๋ SwiftTest๋ 2024WWDC์์ ์๋ก ๋์จ ๊ฑฐ๋๋ผ?! ์ ํ ๋ชฐ๋ผ๋ฐ .... :3 XCTest์ ์ฒ์๊ณผ ๋๋จผ์ , ๊ธฐ๋ณธ์ ์ธ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.setUp(): ์ฑ ์คํtest_something(): ๊ธฐ๋ฅ ํ
์คํธtearDown(): ์ข
๋ฃ์ฒจ์ ์ด๋ฐ ์์๋ฅผ ์๊ณ ํ
์คํธ๋ฅผ ํ๋๋ฐ ๊ฐ์๊ธฐ? ๋ง ์ค๋ฅ๊ฐ ๋๊ณ ? ์ด์ํ๊ฒ ํ
์คํธ๊ฐ ์งํ๋๋ ๊ฒ์ด๋ค.๊ทธ๋ฌ๋๊น, ๋๋ … … setUp() → test_1() → test_2() → … → tearDown() ์ด๋ฐ ์์ธ ์ค ์์๋๋ฐ ์๋์๋ค..
Frida๋ฅผ ์ด์ฉํ iOS ๋ฉ๋ชจ๋ฆฌ ๋ถ์
5
2024.07.03
ํ๊ฒ ๋ ๊ณ๊ธฐํ ๋ด์์ ์ํธ ๊ณ ๋ํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋๋ฐ, ๊ด๋ จํ์ฌ ์ด๋ค ๋ถ๋ถ๊น์ง ์ํธํ๋์ด์ผ ์์ ํ์ง์ ๋ํด ์๋ฌธ์ด ์๊ฒผ๋ค. iOS ์ฌ์ฉ์์ ์
๋ ฅ ์ ๋ณด๋ฅผ ํ์ทจํ๊ฑฐ๋ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น? ํ์ทจํ๋ฉด ์ด๋ค ์ ๋ณด๊ฐ ๋์ค๋๊ฐ? ๊ฐ๋จํ ์๋ํด๋ณด์์ ๋ ํด์ปค๊ฐ ์ด๋ ๋ถ๋ถ๊น์ง ์นจํฌํ ์ ์๋์ง๋ฅผ ์ดํด๋ณด๊ณ ์ ํ๋ค. (๋ง์ ๊ฑฐ์ฐฝํ์ง๋ง ์ค์ ๊ทธ๋ฅ ๊ฑฐ์ฐฝํ์ง๋ ์๋ค) ์ด์ฉํ ๋ฐฉ๋ฒ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ด์ฉํ์๋ค.memory dumpmethod hooking๋จผ์ , Memory Dump๋ ์ ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก, ํน์ ์์ ์ ๋ฉ๋ชจ๋ฆฌ ์ํ๋ฅผ ์ ์ ์๋ค. fridump๋ฅผ ์ด์ฉํ์ฌ ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ํ๋ฅผ dump ๋จ๊ณ ๊ด์ฐฐํ๋ ๋ฐฉ๋ฒ์ ์กฐ๊ธ ๋
ธ๊ฐ๋ค์ ๊ฐ๊น์ ๋ค. (๋ฌผ๋ก ๋ด๊ฐ ๋๋ผ๊ธฐ์๋….) ์๋ฌด๋๋ ์๋ฉฐ์น ๋์ ์ก๊ณ ์์ผ๋ฉด์ ๊ฐ๋ณ๊ฒ ๊ณต๋ถ๋ฅผ ํ..
[frida] error: externally-managed-environment
2024.07.03
$ python3 -m pip install requests # or any other moduleerror: externally-managed-environment× This environment is externally managedโฐโ> To install Python packages system-wide, try brew installxyz, where xyz is the package you are trying toinstall.If you wish to install a non-brew-packaged Python package,create a virtual environment using python3 -m venv path/to/venv.Then use path/to/venv/bin/pyt..
Kotlin Multiplatform์ ๊ตฌ์กฐ์ ์ดํด
2024.06.27
Kotlin Multiplatform์ ํน์งKotlin์ ๊ณตํต ์ธ์ด๋ก ์ฌ์ฉandroid / iOS์์ KMP๋ฅผ ํตํด ์์ฑํ ๋ถ๋ถ์ framework ํํ๋ก ๋์ํจ๋น์ฆ๋์ค ๋ก์ง๋ถํฐ UI๊น์ง ๊ณตํต ๊ฐ๋ฐ ๊ฐ๋ฅํ์ฌ iOS ๋ฐ UI ๊ณตํต ๊ฐ๋ฐ ๊ธฐ๋ฅ์ Beta Kotlin ์ปดํ์ผ๋ฌ์ ๊ฒฝ์ฐ, ์์ค ์ฝ๋๋ฅผ ์
๋ ฅ์ผ๋ก ๊ฐ์ ธ์ค๊ณ ํ๋ซํผ๋ณ ๋ฐ์ด๋๋ฆฌ ์ธํธ๋ฅผ ์์ฑํจ. ๋์ผํ ์ฝ๋์์ ์ฌ๋ฌ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์คํํ๊ฒ ๋จ.ex) ๋์ผํ ์ฝํ๋ฆฐ ํ์ผ์์ JVM ํ์ผ๊ณผ ๊ธฐ๋ณธ ์คํ ํ์ผ ์์ฑ java ์ฝ๋๊ฐ ์ด๋ป๊ฒ Native ์ฝ๋๋ก ๋์ํ ์ ์์ง? ํ๊ณ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ์ฐพ์๋ดค๋๋ฐ Kotlin -> ObjC๋ก ๋ณํ๋๋ ๊ตฌ์กฐ์ธ๊ฐ๋ด Swift๋ก๋ ๋ณํ์ ๊ฐ๋ฅํ์ง๋ง ObjC๋ณด๋ค ์ ํ์ ์ผ๋ก ๊ฐ๋ฅํจ์์ธํ ๊ฑด ์ด์ชฝ ์ฐธ๊ณ https://kotlinlang..
[error] Interrupted system call
2024.05.22
ํ
์คํธ๋ฅผ ํ๋ค ๋ณด๋ฉด ๊ฝค ์์ฃผ ๋จ๋ ์ค๋ฅ์ด๋น. ๋๋ ๊น๋จน์ง ์๊ธฐ ์ํด ์ ๋ฆฌํ๊ณ ์ ํ๋ค. Simulator์ ์บ์ ๋๋ฌธ์ ํด๋น ์ค๋ฅ๊ฐ ๋จ๋ ๊ฒ ๊ฐ๋ค. ํด๊ฒฐํ๊ธฐ ์ํด์ stackoverflow์ ๋์์ ๋ฐ์๋๋ฐ, ํด๋น ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.Xcode๋ฅผ ๋ซ๊ณ terminal์ sudo chmod 1777 /tmp~/Library/Developer/CoreSimulator/Caches/dyld ํด๋์ ๋จ์ ์๋ ์บ์๋ฅผ ์ญ์ ํด ์ค๋ค.Xcode ์ฌ์คํ! ๋ฐฉ๋ฒ์ด ์๋นํ ๊ฐ๋จํ๋ฐ, chmod 1777์ ์ ํ๋๊ฑฐ์ง? ์ถ์ด์ ์กฐ๊ธ ์ฐพ์๋ณด์๋ค. chmod ๋ ํํ ์๊ณ ์๋ฏ์ด ํ์ผ์ด๋ ๋๋ ํ ๋ฆฌ์ ๊ถํ์ ๋ณ๊ฒฝํ ์ ์๋ ๋ช
๋ น์ด์ด๋ค. ํด๋น ๋ช
๋ น์ด๋ ๊ฐ bit ์๋ฆฌ์๋ฅผ ๊ณ์ฐํ์ฌ ์ค์ ํ ์ ์๋๋ฐ,read(r): 4write(r):..
[Objective-C] hooking๊ณผ method swizzling
2024.04.18
Swift์ Objective-C์์ Swizzling๊ณผ Hooking์ ๋น์ทํ ๊ธฐ์ ์ด์ง๋ง, ๋ค๋ฅธ ๋ชฉ์ ๊ณผ ๊ตฌํ ๋ฐฉ์์ ๊ฐ์ง๊ณ ์๋ค. Swizzling๋ฐํ์์์ method ๊ตฌํ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ํด๋์ค์ method๋ฅผ ๋ค๋ฅธ method๋ก ๊ต์ฒดํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ด๋ฅผ ํตํด ๊ธฐ์กด์ method ๋์์ ์์ ํ๊ฑฐ๋ ํ์ฅํ ์ ์๋ค.Swift์ Objective-C๊ฐ ๋์ ์ผ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์, Swizzling์ด ๊ฐ๋ฅํ๋ค. (์ ์ ์ผ๋ก ๋์ํ๋ C / C++๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ method Swizzling์ด ๋ถ๊ฐ๋ฅ)Swizzling์ ์ฃผ๋ก ๋๋ฒ๊น
์ด๋ ๋ฐํ์์์์ ๋์ ๋ณ๊ฒฝ์ ์ฌ์ฉ๋๋ค.+ (void)swizzleMethod { Class class = [self class]; ..
[docker] Ubuntu์ Tomcat server ์ธํ
ํ๊ธฐ on mac
1
2024.04.12
๊ฐ์๊ธฐ? docker? ์ถ๊ธฐ๋ ํ๊ฒ ์ง๋ง... ๋ด๊ฐ macOS๋ฅผ ์ฐ๊ณ ์๋๋ฐ, ๊ฐ์๊ธฐ Linux ํ๊ฒฝ์ ์ ์ฉ ๊ฐ๋ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ / ์๋ฒ๊ฐ ํ์ํด์! ํ๋ ๊ฒฝ์ฐ๋ ์์ผ๋๊น docker๋ก ๋ค๋ฅธ OS๋ฅผ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ araboza. ์ฐธ๊ณ ๋ฅผ ๋ง์ด ํ ๋ธ๋ก๊ทธ ์ด๋ณด๋ฅผ ์ํ ๋์ปค ์๋ด์ - ๋์ปค๋ ๋ฌด์์ธ๊ฐ? ๋์ปค๋ฅผ ์ฒ์ ์ ํ๋ ์์คํ
๊ด๋ฆฌ์๋ ์๋ฒ ๊ฐ๋ฐ์๋ฅผ ๋์์ผ๋ก ๋์ปค ์ ๋ฐ์ ๋ํด ์๊ณ ๋์ ์ง์์ ๋ด๊ณ ์์ต๋๋ค. ๋์ปค๊ฐ ๋ฑ์ฅํ ๋ฐฐ๊ฒฝ๊ณผ ๋์ปค์ ์ญ์ฌ, ๊ทธ๋ฆฌ๊ณ ๋์ปค์ ํต์ฌ ๊ฐ๋
์ธ ์ปจํ
์ด๋์ ์ด subicura.com Install Docker Sign in to Docker Desktop Explore the Learning center and understand the benefits of signing in to ..
[iOS] Privacy Manifest
2
2024.03.25
Privacy Manifest ๋๋ ๋ฐ์ผํ๋ก 24๋
2์ 29์ผ. Apple Development News๊ฐ ์ฌ๋ผ์๋ค. ๋ฐ๋ก Privacy Manifest์ ๊ดํ ๊ฒ์ด์๋๋ฐ, ์ฒ์ ๋ดค์ ๋๋ ์ด… … ์ด๊ฒ ๋ญ์ง? ์ถ์๋ค. ๊ทธ๋ฌ๋ค. ๋ด๊ฐ ๋ณด์ง ์์ 2023 WWDC ์์ ์ค ํ๋๊ฐ Privacy Manifest ๊ด๋ จ์ด์๋ ๊ฒ์ด๋ค…. Get started with privacy manifests - WWDC23 - Videos - Apple Developer Get started with privacy manifests - WWDC23 - Videos - Apple Developer Meet privacy manifests: a new tool that helps you accurately identify ..
.app has comflicting provisioning settings.
2024.03.20
๋ฌธ์ ์ํฉ .app has comflicting provisioning settings. Invalid Provisioning Profile Signature. The provisioning profile included in the bundle com.blablabla.BlaBla [com.blablaba.BlaBla.pkg/Payload/BlaBla.app] cannot be used to submit apps to the Mac App Store until it has a valid signature from Apple. For more information, visit the macOS Developer Portal. ํ์ฌ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ค ๋ณด๋ฉด ๊ฐํน ์ด๋ฐ ์ธ์ฆ์ ์ค๋ฅ๊ฐ ๋จ๋ฉด์ ๋น๋๊ฐ ์ ๋ ๋..
Objective-C ๊ธฐ์ด ๋ฌธ๋ฒ ์ ๋ฆฌ
2
2024.02.15
๊ธฐ์ด ๋ฌธ๋ฒ .h ํค๋ ํ์ผ๊ณผ .m ๊ตฌํ ํ์ผ 2๊ฐ๊ฐ ์กด์ฌํ๋ค. ํค๋ ํ์ผ์๋ ํด๋์ค๋ ๋ณ์, ๋ฉ์๋๋ฅผ ์ ์ธํด ์ฃผ๊ณ .m ํ์ผ์์ ์์ธํ ๊ตฌํ ์ฌํญ์ ๊ธฐ์ ํ๋ค. ํ ๋ฌธ์ฅ์ด ๋๋ ๋๋ง๋ค ์ธ๋ฏธ์ฝ๋ก ์ ์ฌ์ฉํด์ผ ํ๋ค. #import #import "headerSomethingHeader.h" #import ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๋ ์์ํฌ, ํ๋ก์ ํธ ๋ด์ ์์ง๋ง ๋ค๋ฅธ ํ์ผ์ ์ ์ธ๋ ํด๋์ค๋ฅผ ์ฌ์ฉํ ๋ importํด ์ค๋ค. ๊ตฌํ ํ์ผ์์๋ ์์ ์ ํค๋ ํ์ผ์ ๋ฐ๋์ import ํด์ผ ํ๋ฉฐ, .h ํ์ผ์์ import ํ ๋ด์ฉ์ .m ์์ importํ ํ์๊ฐ ์๋ค. ๊ฐ๊ฐ ํ์ผ๋ณ๋ก ๊ด๋ฆฌ๋๋ค๊ณ ๋ณด๋ฉด ๋๋ฉฐ, C์ธ์ด์ ๋น์ทํ๊ฒ ์ฌ์ฉํ ํด๋์ค๊ฐ ์๋ค๋ฉด importํ์ฌ ์ฌ์ฉํ๋ค. ํด๋์ค ์ ์ธ @interface Person : N..
[iOS] ์ฑ์ ์๋ช
์ฃผ๊ธฐ(App's Life Cycle)
2024.01.30
iOS์์ ์ฑ์ ์คํํ๋ฉด? UIKit์ Objective-C ๊ธฐ๋ฐ์ผ๋ก ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ด๋ถ์์ main ํจ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์๊ฐ๋ค. ์ด main ํจ์๊ฐ ๋์๊ฐ๋ฉด์ `UIApplication`์ด ์คํ๋๊ณ , ์ด `UIApplication`์ singleton ํํ๋ก ์์ฑ๋์ด ์ฑ ์ ์ญ์์ ์ฌ์ฉํ ์ ์๋ค. ์ดํ, ์๋ ์ฌ์ง์ Main Run Loop๊ฐ ์คํ๋๋ค. ์ด Main Run Loop๊ฐ ๋์๊ฐ๋ฉด์ View์์ ์ฌ๋๋ค์ event๋ฅผ ๋ฐ๊ณ updateํ๋ค. ๋น์ฐํ! main Run Loop๋ UI ๊ด๋ จ ๋์์ ํ๊ธฐ ๋๋ฌธ์ Main Thread์์ ๋์ํ๋น. ์ฑ์ ์๋ช
์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ๊ฐ์ ์ฑ์ ํ์ฌ ์ํ๋ ์ฑ์ด ์ธ์ ๋ ์ง ์ํํ ์ ์๋ ์์
๊ณผ ์ํํ ์ ์๋ ์์
์ ๊ฒฐ์ ํ๋ค. ์๋ฅผ ๋ค์ด, ํฌ๊ทธ๋ผ์ด๋ ์ฑ์ ์ฌ..
์์น(SeSAC) iOS ์ฑ๊ฐ๋ฐ์ ๋ฐ๋ท ๊ณผ์ 3๊ธฐ ์๋ฃ ํ๊ธฐ
6
2024.01.27
๊ธธ๊ณ ๊ธธ์๋ 6๊ฐ์ ๋์์ ์์น ๊ณผ์ ์ ๋ง์ณค์ต๋๋ค. ์ฌ์ค ์๋ฃํ๊ณ ๋์ ๋ฐ๋ก ์๋ฃ ํ๊ธฐ๋ฅผ ์ฐ๊ณ ์ถ์๋๋ฐ, ๋ง์ ์๋ฃ ์ ์๋ ํ๊ธฐ๋นจ๋ฆฌ์ฐ๊ณ ์ถ๋น์ด๊ธ์ด๊ธ์ด๊ธ ํ๋ค๊ฐ ์๋ฃํ๊ณ ๋๋ ์๊พธ ๋ฏธ๋ฃจ๊ฒ ๋๋ ๊ฑฐ ์์ฃ . ๋ฐฉ๊ธ ํํ์ด์ง ์๊ฐ ํ๊ธฐ๋ฅผ ์ฐ๊ณ ์ค๋ฉด์ ๊ทธ๋ฅ ์ค๋ ํ๊ธฐ๋ ํ๊ธฐ๋ ๋ค ์จ๋ฒ๋ฆฌ์! ๋ผ๋ ๋ง์๊ฐ์ง์ผ๋ก ์์น ์๋ฃ ํ๊ธฐ๋ฅผ ์์ฑํด ๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ฐธ๊ณ ์ฉ์ผ๋ก 1๊ธฐ์
จ๋ ์ฝ์ข
๋ ํ๊ธฐ๋ ๋จ๊ฒจ๋์์! ^_^ ์ ๋ ์ฝ์ข
๋ ํ๊ธฐ๋ฅผ ๋ณด๊ณ ์์น์ ๊ฐ๊ธฐ๋ก ๋ง์์ ๊ตณํ๋ต๋๋ค... ...https://kokojong.tistory.com/72 [ํ๊ธฐ] SeSAC iOS ์ฑ ๊ฐ๋ฐ์ ๋ฐ๋ท ๊ณผ์ PLUS ํ๊ธฐ(?) ๋ฐ 3๊ธฐ ๋๋น FAQ์๋
ํ์ธ์ ์ฝ์ฝ์ข
์
๋๋ค. ์ค๋์ ์ ๊ฐ ์ด์ ์ ํ๊ธฐ๋ก ๋ช๋ฒ ๋จ๊ฒผ๋ (์ง์ง ๋๋ฌด ์ข์์ ์ถ์ฒํด๋๋ ค์ ๊ทธ๋์....