Slide 1

Slide 1 text

3FBMNϏΪφʔ͕஌ͬͱ͘΂͖ ಺༰Ͱଧઢ૊ΜͩXXX גࣜձࣾΩϡϦΦγςΟιϑτ΢ΣΞ ࠓ৓ળۣ !ZJNBKP ୈճQPUBUPUJQT

Slide 2

Slide 2 text

ଧॱ कඋ બख໊ ༡ 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Λ࢖༻ɻόά͸मਖ਼͞ΕͨΓ࢓༷΋มΘΔͨΊ಺༰͸ӏವΈʹ͠ͳ͍Ͱ͍ͩ͘͞

Slide 3

Slide 3 text

3FBMN͸ಡΈํΛΧλΧφͰදݱ͢Δͱ ʮϨϧϜʯ

Slide 4

Slide 4 text

ͦ΋ͦ΋3FBMNͱ͸ w 3FBMN͸ϞόΠϧϑΝʔετͰγϯϓϧ͔ͭϞμ ϯͳ࣍ੈ୅σʔλϕʔε w IUUQTHJUIVCDPNSFBMNSFBMNDPDPB w 0CKFDUJWF$ 4XJGUͱ"OESPJE͔Β΋࢖͑ΔϥΠ ϒϥϦ͕͋Δ w ϦΞϧϜ͡Όͳͯ͘ϨϧϜͱಡΉ

Slide 5

Slide 5 text

ࠓճ͸શͯJ04ʹ͍ͭ ͯͷ࿩

Slide 6

Slide 6 text

3-.0CKFDUαϒΫϥεͷϓϩύςΟఆ͕ٛ ΧϥϜΛࣔ͢

Slide 7

Slide 7 text

@interface Dog : RLMObject @property NSString *name; @end ϞσϧͰςʔϒϧఆٛ ࢖͑Δܕ͸ #00- CPPM JOU /4*OUFHFS MPOH qPBU EPVCMF $('MPBU /44USJOH /4%BUF /4%BUB 3-.0CKFDUͷαϒΫϥε

Slide 8

Slide 8 text

@interface Dog : RLMObject @property NSString *name; @property NSNumber *age; // ௥Ճͨ͠ @end ϞσϧͰςʔϒϧఆٛ ࢖͑ͳ͍ܕͰఆٛͯ͠͠·͏ͱz࣮ߦ࣌ʹྫ֎zɻ ͜Ε͸୯७ϛεͳͷͰͦͷΫϥεΛར༻͢Δࡍʹ໰ ୊͕෼͔Δͷ͸خ͍͠ɻ

Slide 9

Slide 9 text

/4/VMMOJMͰอଘ͕Ͱ͖ͳ͍ͷͰσʔλ͕ ͳ͍͜ͱΛදͮ͠Β͍

Slide 10

Slide 10 text

8FC"1*Λར༻ͨ͠৔߹ ϨεϙϯεʹΦϓγϣφϧͳ߲໨͕͋Δ ͱ/4/VMMOJM͕ར༻Ͱ͖ͳ͍ͷ͸ਏ͍

Slide 11

Slide 11 text

ٯʹ ϩʔΧϧͰ࡞੒ͨ͠σʔλΛ3FBMNʹอଘ͢Δ ৔߹͸Φϓγϣφϧͳ߲໨͸ ΋ͬͱগͳ͍͔΋͠Εͳ͍ͨΊ ͋·ΓؾʹͳΒͳ͍ͱ͸ࢥ͏

Slide 12

Slide 12 text

ଥڠҊ w ͦͷ஋͕͋Δ͔ͳ͍͔ͷ#00-ϑϥάΛอଘ߲ ໨ͷҰͭͱͯ࣋ͭ͠ ଥڠҊ w ੔਺ͳΒ*/5@.*/ͳͲఆ਺Խ͞Ε͍ͯΔ࢖Θ Εͳͦ͞͏ͳ஋Ͱଘࡏ͠ͳ͍ͱ͍͏ҙຯ͚ͩΛ ࣔ͢

Slide 13

Slide 13 text

ͪͳΈʹ

Slide 14

Slide 14 text

/44USJOHʹ͸OJMΛ ಥͬࠐΊΔ

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

w OJM͕อଘͰ͖ͯΔΑ͏ʹݟ͑Δ͚Ͳ w ۭจࣈ!lz͕อଘ͞Ε͍ͯͯɺOJMͰ͸ͳ͍͔Β஫ ҙ͕ඞཁ

Slide 17

Slide 17 text

ओΩʔ͸TUSJOH͔੔਺Ͱͳ͚Ε͹͍͚ͳ͍

Slide 18

Slide 18 text

w ྫ֎ʹ͸TUSJOH͔JOUΛ࢖͑ͱॻ͍ͯ͋Δ w JOU͚ͩͰͳ͘MPOHͳͲ΋࢖͑ΔͷͰ੔਺Ͱ͋Ε ͹ྑ͍

Slide 19

Slide 19 text

/4%BUF͕ϛϦඵΛอଘͰ͖ͯͳ͍

Slide 20

Slide 20 text

w ݱࡏͷ࠷৽ W Ͱ΋࣌ؒͷখ਺఺ҎԼ͕੾ ΓࣺͯΒΕɺϛϦඵҎԼ͕อଘͰ͖ͳ͍ w IUUQTHJUIVCDPNSFBMNSFBMNDPDPB JTTVFT

Slide 21

Slide 21 text

w /45JNF*OUFSWBM࢖͏ͷ͕ૉ௚ w ͕ͩ͋͘·Ͱج४஋͔Βͷ*OUFSWBMʹͳΔͷͰ ͦͷج४஋ΛͲ͜ʹ͢Δ͔͸ద੾ʹܾΊͨ͘ͳ Δ w 8FC"1*͔Β*40ܗࣜʢྫ 5ʣͰૹΒΕͯ͘ΔΑ͏ͳ έʔεͳΒͦΕΛ/44USJOHͰอଘ͢Δͷ͸ѱ͍ํ ๏͡Όͳ͍ؾ͕͢Δ ϛϦඵҎԼ࢖͍͍ͨ࣌ͷ ଥڠҊ

Slide 22

Slide 22 text

ଥڠҊͲͪΒΛબΜͰ΋ ಺෦อଘ͕Ͳ͏͋Εϝιουܦ༝ Ͱ/4%BUFΛฦ͢Α͏ʹ͢Ε͹ 3-.0CKFDUΛࢀর͢Δଆ͸ؾʹ͠ ͳ͍ͰࡁΉ͔΋

Slide 23

Slide 23 text

@interface Dog : RLMObject @property NSTimeInterval *birthDateInterval; // NSDate͕ཉ͚͠Ε͹propertyΛNSDateʹͯ͠ฦ͢ɻ // birthDateInterval͕-1ͳΒnilΛฦͤ͹͍͍ - (NSDate *)birthDate; @end

Slide 24

Slide 24 text

3FBMN+40/͕ࣗಈͰ*40ܗࣜͷจ ࣈྻΛ/4%BUFʹͯ͠͠·͏

Slide 25

Slide 25 text

3FBMN+40/ͱ͍͏ ϥΠϒϥϦ͕͋Δ w +40/ͷϚοϐϯάϧʔϧΛ.BOUMFͷΑ͏ʹॻ ͚Δ w Ϛοϐϯάϧʔϧ͸3-.0CKFDUΛܧঝͨ͠Ϋϥ εͷΫϥεϝιουͱͯ͠هड़͠/4%JDUJPOBSZ Ͱฦ͢ IUUQTHJUIVCDPNNBUUIFXDIFPL3FBMN+40/

Slide 26

Slide 26 text

+ (NSDictionary *)JSONInboundMappingDictionary { return @{ @"id": @"identifier", @"created_at": @"createdAt" }; } Ϛοϐϯάϧʔϧྫ LFZ͕KTPOͷLFZ WBMVF͕Ϛοϐϯά͢ΔϓϩύςΟ໊

Slide 27

Slide 27 text

w *40ܗࣜͷจࣈྻ͸/4%BUFʹͯ͘͠ΕΔ w Ͱ΋/4%BUF͸ϛϦඵࣺͯΔ͠ w σʔλ͕ͳ͍ͱ͖/4%BUFͰOJMอ࣋͢Δͷϫʔ ΫΞϥ΢ϯυ͕ඞཁͳͷͰ w ೔࣌Λ/4%BUFͰอଘͨ͘͠ͳ͍࣌΋͋ͬͯ ͋Γ͕ͨ໎࿭తͳʜ

Slide 28

Slide 28 text

+40/&YQPSUͷίʔυ ͸OJMΛҙ͍ࣝͯ͠ͳ͍

Slide 29

Slide 29 text

+40/&YQPSUͱ͸ IUUQTHJUIVCDPN"INFE"MJ+40/&YQPSU

Slide 30

Slide 30 text

+40/&YQPSUͱ͸ w +40/&YQPSU͸+40/ͷϑΝΠϧ͔ΒΫϥεΛఆ ٛͯ͘͠ΕΔπʔϧ w Ϛοϐϯά༻ͷϝιουͷίʔυ΋ੜ੒ͯ͠ग़ ྗͯ͘͠ΕΔ IUUQTHJUIVCDPN"INFE"MJ+40/&YQPSU

Slide 31

Slide 31 text

ྫ - (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͕OJMͳΒ@JEFOUJpFS΋OJMʹͳΓྫ֎͕ ى͖ΔͷͰɺ͜ͷ৚݅ࣗମ΋ΧελϚΠζ͸ඞཁʹͳΔ

Slide 32

Slide 32 text

+40/&YQPSUͰࣗಈੜ੒͞ ΕΔίʔυΛݩʹΧελϚΠ ζ͍ͯ͘͠ͷ͕ྑͦ͞͏

Slide 33

Slide 33 text

3-.0CKFDUͷϓϩύςΟ ଐੑ͸ॻ͔ͳ͍͜ͱΛਪ঑

Slide 34

Slide 34 text

w 3FBMNͰ͸ɺOPOBUPNJD BUPNJD TUSPOH DPQZ XFBLͷ Α͏ͳ0CKFDUJWF$ͷϓϩύςΟଐੑ͕ແࢹ͞Ε·͢ w 3FBMNͷதͰ͸ɺಠࣗͷ࠷దԽ͞Εͨଐੑ͕࢖ΘΕ·͢ɻ ͦͷͨΊɺࠞཚΛආ͚ΔͨΊʹɺ3FBMNϞσϧΫϥεΛએ ݴ͢Δͱ͖ɺϓϩύςΟଐੑΛ෇͚ͳ͍͜ͱΛਪ঑͍ͯ͠ ·͢ɻ w ϓϩύςΟଐੑΛ෇͚ͨ৔߹ɺ3-.0CKFDU͕3FBMNʹอ ଘ͞ΕΔ·Ͱ༗ޮʹͳΓ·͢ɻ ެࣜϦϑΝϨϯεΑΓ IUUQSFBMNJPKQEPDTDPDPB

Slide 35

Slide 35 text

ແࢹ͞ΕΔͷ͔͞Εͳ ͍ͷ͔෼͔ΓͮΒ͍ʜ

Slide 36

Slide 36 text

͜͏͍͏͜ͱʁ %#ʹอଘ͞Εͨ 3-.0CKFDUΛ࡞ͬͨ ଐੑͷࢦఆ͕༗ޮ ଐੑͷࢦఆΛແࢹʁ w Կʹ͠Ζଐੑͷࢦఆ͸͠ͳ͍΄͏͕ྑͦ͞͏ %#͔Βऔಘ ଐੑͷࢦఆΛແࢹʁ

Slide 37

Slide 37 text

/4*OUFHFSʹ͢ΔͱCJU$16ͰࠔΔ͜ͱ ΋͋Δ

Slide 38

Slide 38 text

ωλ͕ਚ͖ͯ3FBMNͱ ௚઀ؔ܎ͳ͍ΜͰ͕͢

Slide 39

Slide 39 text

w CJU$16ͷ৔߹/4*OUFHFS͸CJU w CJU޲͚ʹϏϧυ͞Ε্ͨͰCJU$16ͳΒ /4*OUFHFS͸CJUʹͳΔ w ϋʔυ΢ΣΞΞʔΩςΫνϟʹΑΒͣɺॴఆͷό Πτ௕Ͱ͋Δ͜ͱ͕อূ͞Εͨ૊ΈࠐΈσʔλ ܕ͕0CK$Ͱ΋࢖͑ΔͷͰͦΕΛ࢖͏΄͏͕ྑ͍ 8FC"1*ͰCJUͷ੔਺Λฦ ͞ΕΔࡍ

Slide 40

Slide 40 text

@interface Employ : RLMObject @property uint64_t identifier; @end ྫ͑͹ූ߸ͳ͠CJUͷ੔਺Λอଘ͢Δඞཁ͕͋Δ ͳΒ/4*OUFHFSͰ͸ͳ͘JOU@U΍VJOU@UΛ࢖͑ ͹͍͍ͱࢥ͏

Slide 41

Slide 41 text

ͦͷଞ

Slide 42

Slide 42 text

w 3FBMN DPDPB ͷόʔδϣϯΞοϓ͕଎͍ w /4/VMMOJMΛಥͬࠐΊͳ͍໰୊΋͙͢ʹղܾ͢Δ ͩΖ͏ͱࢥ͏ w %#ͱͯ͠Ϣʔβʔͷखݩʹ࢒ͬͯ͠·͏͜ͱͳ ͷͰมͳϫʔΫΞϥ΢ϯυΛͤͣͳΔ΂͘ૉ௚ ͳରԠ͍ͨ͠