Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Realmビギナーが知っとくべき内容で打線組んだwww
Search
yimajo
March 12, 2015
Technology
7.3k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Realmビギナーが知っとくべき内容で打線組んだwww
potatotips15 で発表した資料です
http://connpass.com/event/12140/
yimajo
March 12, 2015
More Decks by yimajo
See All by yimajo
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
420
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
970
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
780
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
1
420
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
3
370
良いテストコードのために悪いテストコードを理解する - 不安定なテスト編: iOSアプリ開発ユニットテストの場合
yimajo
22
6.9k
TCAの Shared Stateって どういう仕組みになってんの?
yimajo
0
2.8k
Swift 5.9 からの Observation はiOS17 未満 からも使えて struct の変更検知もできるんすかね?
yimajo
2
1.2k
不安定なテストは200種類あんねん
yimajo
3
1.3k
Other Decks in Technology
See All in Technology
自律的なチームを作るためにTechPMがやらないこと
ny7760
1
530
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
290
超⼩型・多⾔語検索モデル Bekko Embedding
hotchpotch
1
140
Kiro IDE 入門 (画面の各部から、頼み方、任せ方、戻し方まで) | 目指せ Kiro マスター 02
inariku
PRO
4
160
An Introduction to Context Ontology Accelerator (teaching AI agents what your data means)
inariku
PRO
1
180
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
240
BALLAS Technology Deck
ballas_inc
0
350
AWS Quick 入門 | 目指せ Quick マスター 01
inariku
PRO
2
240
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.3k
HQ駆動開発で最高のAI-Contextを作ろう
sansantech
PRO
1
120
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
5
3.3k
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
220
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Navigating Weather and Climate Data
rabernat
0
590
30 Presentation Tips
portentint
PRO
1
460
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
340
Building Adaptive Systems
keathley
44
3.3k
KATA
mclloyd
PRO
35
16k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
330
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
520
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1.1k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
770
Transcript
3FBMNϏΪφʔ͕ͬͱ͖͘ ༰ͰଧઢΜͩXXX גࣜձࣾΩϡϦΦγςΟιϑτΣΞ ࠓળۣ !ZJNBKP ୈճQPUBUPUJQT
ଧॱ कඋ બख໊ ༡ 3FBMNͷಡΈํʮϨϧϜʯ ೋ 3-.0CKFDUαϒΫϥεͷϓϩύςΟఆ͕ٛΧϥϜΛࣔ͢
த /4/VMMOJMͰอଘͰ͖ͳ͍ Ұ ओΩʔTUSJOH͔Ͱͳ͚Ε͍͚ͳ͍ ӈ /4%BUF͕ϛϦඵΛอଘͰ͖ͯͳ͍ ࡾ 3FBMN +40/͕ࣗಈͰ*40ܗࣜͷจࣈྻΛ/4%BUFʹ ͯ͠͠·͏ ࠨ +40/&YQPSUͷίʔυOJMΛߟྀ͍ͯ͠ͳ͍ ั 3-.0CKFDUͷϓϩύςΟଐੑॻ͔ͳ͍͜ͱΛਪ /4*OUFHFS͡Όͳ͘JOU@UΛ͏͖࣌͋Δ 3FBMN DPDPB WΛ༻ɻόάमਖ਼͞ΕͨΓ༷มΘΔͨΊ༰ӏವΈʹ͠ͳ͍Ͱ͍ͩ͘͞
3FBMNಡΈํΛΧλΧφͰදݱ͢Δͱ ʮϨϧϜʯ
ͦͦ3FBMNͱ w 3FBMNϞόΠϧϑΝʔετͰγϯϓϧ͔ͭϞμ ϯͳ࣍ੈσʔλϕʔε w IUUQTHJUIVCDPNSFBMNSFBMNDPDPB w 0CKFDUJWF$ 4XJGUͱ"OESPJE͔Β͑ΔϥΠ ϒϥϦ͕͋Δ
w ϦΞϧϜ͡Όͳͯ͘ϨϧϜͱಡΉ
ࠓճશͯJ04ʹ͍ͭ ͯͷ
3-.0CKFDUαϒΫϥεͷϓϩύςΟఆ͕ٛ ΧϥϜΛࣔ͢
@interface Dog : RLMObject @property NSString *name; @end ϞσϧͰςʔϒϧఆٛ ͑Δܕ
#00- CPPM JOU /4*OUFHFS MPOH qPBU EPVCMF $('MPBU /44USJOH /4%BUF /4%BUB 3-.0CKFDUͷαϒΫϥε
@interface Dog : RLMObject @property NSString *name; @property NSNumber *age;
// Ճͨ͠ @end ϞσϧͰςʔϒϧఆٛ ͑ͳ͍ܕͰఆٛͯ͠͠·͏ͱz࣮ߦ࣌ʹྫ֎zɻ ͜Ε୯७ϛεͳͷͰͦͷΫϥεΛར༻͢Δࡍʹ ͕͔Δͷخ͍͠ɻ
/4/VMMOJMͰอଘ͕Ͱ͖ͳ͍ͷͰσʔλ͕ ͳ͍͜ͱΛදͮ͠Β͍
8FC"1*Λར༻ͨ͠߹ ϨεϙϯεʹΦϓγϣφϧͳ߲͕͋Δ ͱ/4/VMMOJM͕ར༻Ͱ͖ͳ͍ͷਏ͍
ٯʹ ϩʔΧϧͰ࡞ͨ͠σʔλΛ3FBMNʹอଘ͢Δ ߹Φϓγϣφϧͳ߲ ͬͱগͳ͍͔͠Εͳ͍ͨΊ ͋·ΓؾʹͳΒͳ͍ͱࢥ͏
ଥڠҊ w ͦͷ͕͋Δ͔ͳ͍͔ͷ#00-ϑϥάΛอଘ߲ ͷҰͭͱͯ࣋ͭ͠ ଥڠҊ w ͳΒ*/5@.*/ͳͲఆԽ͞Ε͍ͯΔΘ Εͳͦ͞͏ͳͰଘࡏ͠ͳ͍ͱ͍͏ҙຯ͚ͩΛ ࣔ͢
ͪͳΈʹ
/44USJOHʹOJMΛ ಥͬࠐΊΔ
None
w OJM͕อଘͰ͖ͯΔΑ͏ʹݟ͑Δ͚Ͳ w ۭจࣈ!lz͕อଘ͞Ε͍ͯͯɺOJMͰͳ͍͔Β ҙ͕ඞཁ
ओΩʔTUSJOH͔Ͱͳ͚Ε͍͚ͳ͍
w ྫ֎ʹTUSJOH͔JOUΛ͑ͱॻ͍ͯ͋Δ w JOU͚ͩͰͳ͘MPOHͳͲ͑ΔͷͰͰ͋Ε ྑ͍
/4%BUF͕ϛϦඵΛอଘͰ͖ͯͳ͍
w ݱࡏͷ࠷৽ W Ͱ࣌ؒͷখҎԼ͕ ΓࣺͯΒΕɺϛϦඵҎԼ͕อଘͰ͖ͳ͍ w IUUQTHJUIVCDPNSFBMNSFBMNDPDPB JTTVFT
w /45JNF*OUFSWBM͏ͷ͕ૉ w ͕ͩ͋͘·Ͱج४͔Βͷ*OUFSWBMʹͳΔͷͰ ͦͷج४ΛͲ͜ʹ͢Δ͔దʹܾΊͨ͘ͳ Δ w 8FC"1*͔Β*40ܗࣜʢྫ 5 ʣͰૹΒΕͯ͘ΔΑ͏ͳ
έʔεͳΒͦΕΛ/44USJOHͰอଘ͢Δͷѱ͍ํ ๏͡Όͳ͍ؾ͕͢Δ ϛϦඵҎԼ͍͍ͨ࣌ͷ ଥڠҊ
ଥڠҊͲͪΒΛબΜͰ ෦อଘ͕Ͳ͏͋Εϝιουܦ༝ Ͱ/4%BUFΛฦ͢Α͏ʹ͢Ε 3-.0CKFDUΛࢀর͢Δଆؾʹ͠ ͳ͍ͰࡁΉ͔
@interface Dog : RLMObject @property NSTimeInterval *birthDateInterval; // NSDate͕ཉ͚͠ΕpropertyΛNSDateʹͯ͠ฦ͢ɻ //
birthDateInterval͕-1ͳΒnilΛฦ͍͍ͤ - (NSDate *)birthDate; @end
3FBMN +40/͕ࣗಈͰ*40ܗࣜͷจ ࣈྻΛ/4%BUFʹͯ͠͠·͏
3FBMN +40/ͱ͍͏ ϥΠϒϥϦ͕͋Δ w +40/ͷϚοϐϯάϧʔϧΛ.BOUMFͷΑ͏ʹॻ ͚Δ w Ϛοϐϯάϧʔϧ3-.0CKFDUΛܧঝͨ͠Ϋϥ εͷΫϥεϝιουͱͯ͠هड़͠/4%JDUJPOBSZ Ͱฦ͢
IUUQTHJUIVCDPNNBUUIFXDIFPL3FBMN+40/
+ (NSDictionary *)JSONInboundMappingDictionary { return @{ @"id": @"identifier", @"created_at": @"createdAt"
}; } Ϛοϐϯάϧʔϧྫ LFZ͕KTPOͷLFZ WBMVF͕Ϛοϐϯά͢ΔϓϩύςΟ໊
w *40ܗࣜͷจࣈྻ/4%BUFʹͯ͘͠ΕΔ w Ͱ/4%BUFϛϦඵࣺͯΔ͠ w σʔλ͕ͳ͍ͱ͖/4%BUFͰOJMอ࣋͢Δͷϫʔ ΫΞϥϯυ͕ඞཁͳͷͰ w ࣌Λ/4%BUFͰอଘͨ͘͠ͳ͍࣌͋ͬͯ ͋Γ͕ͨ໎తͳʜ
+40/&YQPSUͷίʔυ OJMΛҙ͍ࣝͯ͠ͳ͍
+40/&YQPSUͱ IUUQTHJUIVCDPN"INFE"MJ+40/&YQPSU
+40/&YQPSUͱ w +40/&YQPSU+40/ͷϑΝΠϧ͔ΒΫϥεΛఆ ٛͯ͘͠ΕΔπʔϧ w Ϛοϐϯά༻ͷϝιουͷίʔυੜͯ͠ग़ ྗͯ͘͠ΕΔ IUUQTHJUIVCDPN"INFE"MJ+40/&YQPSU
ྫ - (instancetype)initWithDictionary:(NSDictionary *)dictionary { if(dictionary == nil || [dictionary
isKindOfClass:[NSNull class]]){ return nil; } self = [super init]; if(![dictionary[@"id"] isKindOfClass:[NSNull class]]){ self.identifier = [dictionary[@"id"] integerValue]; } if(![dictionary[@"name"] isKindOfClass:[NSNull class]]){ self.name = dictionary[@"name"]; } return self; } ͨͩEJDUJPOBSZ<!lJEz>͕OJMͳΒ@JEFOUJpFSOJMʹͳΓྫ֎͕ ى͖ΔͷͰɺ͜ͷ݅ࣗମΧελϚΠζඞཁʹͳΔ
+40/ &YQPSUͰࣗಈੜ͞ ΕΔίʔυΛݩʹΧελϚΠ ζ͍ͯ͘͠ͷ͕ྑͦ͞͏
3-.0CKFDUͷϓϩύςΟ ଐੑॻ͔ͳ͍͜ͱΛਪ
w 3FBMNͰɺOPOBUPNJD BUPNJD TUSPOH DPQZ XFBLͷ Α͏ͳ0CKFDUJWF$ͷϓϩύςΟଐੑ͕ແࢹ͞Ε·͢ w 3FBMNͷதͰɺಠࣗͷ࠷దԽ͞Εͨଐੑ͕ΘΕ·͢ɻ ͦͷͨΊɺࠞཚΛආ͚ΔͨΊʹɺ3FBMNϞσϧΫϥεΛએ
ݴ͢Δͱ͖ɺϓϩύςΟଐੑΛ͚ͳ͍͜ͱΛਪ͍ͯ͠ ·͢ɻ w ϓϩύςΟଐੑΛ͚ͨ߹ɺ3-.0CKFDU͕3FBMNʹอ ଘ͞ΕΔ·Ͱ༗ޮʹͳΓ·͢ɻ ެࣜϦϑΝϨϯεΑΓ IUUQSFBMNJPKQEPDTDPDPB
ແࢹ͞ΕΔͷ͔͞Εͳ ͍ͷ͔͔ΓͮΒ͍ʜ
͜͏͍͏͜ͱʁ %#ʹอଘ͞Εͨ 3-.0CKFDUΛ࡞ͬͨ ଐੑͷࢦఆ͕༗ޮ ଐੑͷࢦఆΛແࢹʁ w Կʹ͠Ζଐੑͷࢦఆ͠ͳ͍΄͏͕ྑͦ͞͏ %#͔Βऔಘ ଐੑͷࢦఆΛແࢹʁ
/4*OUFHFSʹ͢ΔͱCJU$16ͰࠔΔ͜ͱ ͋Δ
ωλ͕ਚ͖ͯ3FBMNͱ ؔͳ͍ΜͰ͕͢
w CJU$16ͷ߹/4*OUFHFSCJU w CJU͚ʹϏϧυ͞Ε্ͨͰCJU$16ͳΒ /4*OUFHFSCJUʹͳΔ w ϋʔυΣΞΞʔΩςΫνϟʹΑΒͣɺॴఆͷό ΠτͰ͋Δ͜ͱ͕อূ͞ΕͨΈࠐΈσʔλ ܕ͕0CK$Ͱ͑ΔͷͰͦΕΛ͏΄͏͕ྑ͍ 8FC"1*ͰCJUͷΛฦ
͞ΕΔࡍ
@interface Employ : RLMObject @property uint64_t identifier; @end ྫ͑ූ߸ͳ͠CJUͷΛอଘ͢Δඞཁ͕͋Δ ͳΒ/4*OUFHFSͰͳ͘JOU@UVJOU@UΛ͑
͍͍ͱࢥ͏
ͦͷଞ
w 3FBMN DPDPB ͷόʔδϣϯΞοϓ͕͍ w /4/VMMOJMΛಥͬࠐΊͳ͍͙͢ʹղܾ͢Δ ͩΖ͏ͱࢥ͏ w %#ͱͯ͠Ϣʔβʔͷखݩʹͬͯ͠·͏͜ͱͳ ͷͰมͳϫʔΫΞϥϯυΛͤͣͳΔ͘ૉ
ͳରԠ͍ͨ͠