๋ฐ์ํ
- ํ๋ ๊ฐ์ ์ง์ ๋ ํ์ ์ด ์๊ฑฐ๋ ๋ฑ๊ธ์ด ์๋ ๊ฒฝ์ฐ ๋ฑ์ enum์ ์ฅ์ ์ ์ด์ฉํ ์ ์์
- enum์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ ํด์ง ์ ๋ ฅ๊ฐ ๋ด์์ ์ ๋ ฅํ๊ฒ ๋๋ฏ๋ก ์์์น ๋ชปํ ์ค๋ฅ๊ฐ ์๊ธฐ์ง ์์
- ๊ฐ์ ์ ๋ ฅํ ๋ String์ด๋ Int๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ ํด์ง ํ์ ์ ์ ๋ ฅํ๋ฏ๋ก ์ข๋ ์ง๊ด์ ์
enum CustomerType: Int {
/// ํ๋ ๊ณ์ , default
case active
/// ํด๋ฉด ๊ณ์
case dormant
/// ์ ์ง ๊ณ์
case suspension
}
- CustomerType enum์ ์ ์ํด ์ค
- (enum์์ ๊ฐ case์ ๊ฐ์ ์ง์ ํด ์ฃผ์ง ์๋๋ค๋ฉด ์ ์ํด์ค ์์๋๋ก 0, 1, 2.. ๊ฐ ๋ฉ๋๋ค. ๋ง์ฝ ๊ฐ์ฅ ์ฒ์ ์ ์๋ case์ 71์ ์ง์ ํด ์ฃผ์๋ค๋ฉด 71, 72, 73... ์์ผ๋ก ๊ฐ์ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค. )
class Customer: Object {
@objc dynamic var idx = 0
@objc private dynamic var privateType: Int = CustomerType.active.rawValue
}
- private๋ก ์ฌ์ฉ์์ ์ง์ ์ ์ธ ์ ๋ ฅ์ ๋ง์.
- Realm์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฌ์ฉ์ ์ง์ ํจ์๋ ํ๋กํผํฐ๋ฅผ ์ ์ํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ๋ฏ๋ก ์ฌ์ฉ์์ ๊ฐ์ ์ ๋ ฅ ๋ฐ์ private ํ๋กํผํฐ์ ๋ฐ์ํ๋ ํ๋กํผํฐ๋ฅผ ์์ฑํจ
var type: CustomerType {
get {
return CustomerType(rawValue: privateType)!
}
set {
privateType = newValue.rawValue
}
}
- getter์ setter๋ฅผ ํตํด ์ง์ ๋ enum ํ์ ์ผ๋ก ๋ฐํ, ์ฌ์ฉ์ ์ ๋ ฅ์ rawValue๋ก ๋ฐ๊พธ์ด ๊ทธ ์ธํธ๊ฐ์ private ํ๋กํผํฐ์ ์ ์ฅํจ
์ถ์ฒ ๋ฐ ์ฐธ๊ณ ์ฌ์ดํธ
https://ali-akhtar.medium.com/crud-operation-using-realmswift-part-1-17a99de83cc1
>>> ํ๋ฆฌ๊ฑฐ๋ ์ด์ํ ์ ์ด ์๋ค๋ฉด ์ธ์ ๋ ๋๊ธ ๋ถํ๋๋ ค์๐๐ป
728x90
๋ฐ์ํ
'๐ iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[RealmSwift] LinkingObjects์ Realm Studio (0) | 2022.10.02 |
---|---|
[RealmSwift] primaryKey์ AutoIncrease (0) | 2022.10.02 |
[iOS/Swift] WKWebView์์ Scheme๊ณผ Query๋ก web๊ณผ communicationํ๊ธฐ (0) | 2022.09.26 |
[iOS/Swift] WKWebView URL ๋ก๋ ํ๊ธฐ, Request ์ค์ ํ๊ธฐ (0) | 2022.09.26 |
[iOS/RxSwift] RxSwift์ RxRealm์ผ๋ก UICollectionView์ฌ์ฉํ๊ธฐ (2) | 2022.09.19 |
๋๊ธ