๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป iOSun
article thumbnail
[Swift Language Guide] ARC
Swift Language Guide 2023. 9. 7. 22:21

ARC ์ž๋™ ์ฐธ์กฐ ์นด์šดํŒ… Automatic Reference Counting swift๋Š” ARC๋กœ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์„ ๋•Œ ์ž๋™์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ํ•ด์ค€๋‹ค. ๋‹น์—ฐํ•˜๊ฒŒ๋„ struct์™€ enum์€ ๊ฐ’์„ ๋ณต์‚ฌํ•˜๋Š” valueํƒ€์ž…์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น๋˜์ง€ ์•Š๊ณ  ์ฐธ์กฐ ํƒ€์ž…์ธ class์˜ ์ธ์Šคํ„ด์Šค์—๋งŒ ์ฐธ์กฐ ์นด์šดํŒ…์ด ์ ์šฉ๋œ๋‹ค. ์ž๋ฐ”์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€๋น„์ง€ ์ฝœ๋ ‰์…˜(GC)์™€ ๋‹ค๋ฅธ์ ์€ GC๋Š” ๋Ÿฐํƒ€์ž„๋•Œ ๊ณ„์† ์ฐธ์กฐ๋ฅผ ์ถ”์ ํ•˜๊ณ  RC๋Š” ์ปดํŒŒ์ผ๋•Œ ๋ชจ๋‘ ๊ฒฐ์ •์ด ๋‚œ๋‹ค๋Š” ์ฐจ์ด์ ์ด ์žˆ๋‹ค. ARC์˜ ์ž‘๋™ ์›๋ฆฌ ํด๋ž˜์Šค์˜ ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค ARC๋Š” ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ํ•ด์คŒ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋”์ด์ƒ ํ•„์š”์น˜ ์•Š์„ ๋•Œ ARC๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ํ•ด์ œ ํ•ด์คŒ ์‚ฌ์šฉ์ค‘์ธ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œํ•˜๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ์Šคํ„ด์Šค์— ๊ฐ•ํ•œ ์ฐธ์กฐ (strong reference)..

article thumbnail
[Swift Language Guide] ํ”„๋กœํ† ์ฝœ (Protocols)
Swift Language Guide 2023. 8. 1. 21:25

ํ”„๋กœํ† ์ฝœ (Protocols) ๋”ฐ๋ผ์•ผํ•˜๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ •์˜ํ•œ๋‹ค. class SomeClass: SomeSuperclass, FirstProtocol, AnotherProtocol { // class definition goes here } ์ž‘์„ฑ ์ˆœ์„œ : ๋ถ€๋ชจํด๋ž˜์Šค ๋จผ์ € ์ž‘์„ฑํ•˜๊ณ  ๊ทธ ๋‹ค์Œ์— ํ”„๋กœํ† ์ฝœ์„ ์ฑ„ํƒํ•œ๋‹ค. protocol SomeProtocol { var mustBeSettable: Int { get set } var doesNotNeedToBeSettable: Int { get } } ๊ฐ ํ”„๋กœํผํ‹ฐ๊ฐ€ gettable ์ธ์ง€ gettable๊ณผ settable ์ธ์ง€ ์ง€์ •ํ•ด์ค˜์•ผ ํ•จ mutating ๋ฉ”์†Œ๋“œ ์š”๊ตฌ์‚ฌํ•ญ protocol Togglable { mutating func toggle() } enum On..

article thumbnail
[Swift Language Guide] ๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค (Structures and Classes)
Swift Language Guide 2023. 6. 5. 20:42

๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค (Structures and Classes) ๊ณตํ†ต์  ๊ฐ’์„ ์ €์žฅํ•  ํ”„๋กœํผํ‹ฐ๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•จ์ˆ˜์  ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์„ ์–ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚ด๋ถ€ ๊ฐ’์—. ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•ด ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. extension์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. Protocol์„ ์ฑ„ํƒํ•˜์—ฌ ๊ธฐ๋Šฅ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. Class (ํด๋ž˜์Šค) class VideoMode { var resolution = Resolution() var interlaced = false var frameRate = 0.0 var name: String? } let tenEighty = VideoMode() let alsoTenEighty = tenEighty if tenEighty === als..

article thumbnail
[Swift Language Guide] ์—ด๊ฑฐํ˜• (Enumerations)
Swift Language Guide 2023. 6. 5. 20:41

์—ด๊ฑฐํ˜• (Enumerations) enum CompassPoint { case north case south case east case west } enum Planet { case mercury, venus, earth, mars, jupiter, saturn, uranus, neptune } ์ฝค๋งˆ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ•œ์ค„๋กœ ํ‘œ๊ธฐํ•  ์ˆ˜ ์žˆ๋‹ค. enum Beverage: CaseIterable { case coffee, tea, juice } let numberOfChoices = Beverage.allCases.count ์—ด๊ฑฐํ˜• ์ด๋ฆ„ ๋’ค์— : CaseIterable ์„ ์ž‘์„ฑ → allCases ํ”„๋กœํผํ‹ฐ๋Š” array๋กœ ๊ด€๋ จ ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฐ๊ด€๋œ ๊ฐ’ (Associated Values) enum Barcode {..

profile on loading

Loading...