Slide 1

Slide 1 text

0CKFDUJWF$3VOUJNF 4XJ[[MF࣮ફ Ԧቨ 

Slide 2

Slide 2 text

ࣗݾ঺հ w ઌ݄ೖࣾ͹͔Γɺ೥લ೔ຊ΁དྷͨ w J04։ൃ೥͙Β͍ɻલ৬6OJUZ% w ࠓ-JOF"ET4%,ͷ࢓ࣄΛ୲౰͍ͯ͠Δ w ࠷ۙ"OESPJE΋ษڧத w IUUQHJUIVCDPNPOFWDBU

Slide 3

Slide 3 text

Ͳ͏ͯ͠0CKFDUJWF$͕ੜ͖Δ ͔Βɺࠓ·Ͱࡀ΋ա͗ɻݴޠʹͷ͓೥دΓ

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

4NBMM5BML ϝοηʔδૹ৴ 4XJ[[MJOH ϝλݴޠ $ͱ$ ޓ׵ "3$ "TTPDJBUFE 0CKFDU --7.$MBOH ($% ັྗతͳ ॊೈੑ

Slide 6

Slide 6 text

4XJ[[MJOH

Slide 7

Slide 7 text

.FUIPE$BMMJOH ClassName *object = [[ClassName alloc] init]; [object doItWithA:a]; objc_msgSend(object, @selector(doItWithA:), a); %JTQBUDI5BCMF .FUIPE *.1 @selector(doIt) doIt @selector(doItWithA:) doItWithA: - (void)doIt { //... } - (void)doItWithA:(id)a { //... }

Slide 8

Slide 8 text

.FUIPE4XJ[[MJOH %JTQBUDI5BCMF .FUIPE *.1 @selector(doIt) doIt @selector(doItWithA:) doItWithA: @selector(alt_doItWithA:) alt_doItWithA: - (void)doIt { //... } - (void)doItWithA:(id)a { //... } - (void)alt_doItWithA:(id)a { //... } EP*U8JUI"ͱBMU@EP*U8JUI"Λ4XJ[[MF͠·͢

Slide 9

Slide 9 text

.FUIPE4XJ[[MJOH %JTQBUDI5BCMF .FUIPE *.1 @selector(doIt) doIt @selector(doItWithA:) doItWithA: @selector(alt_doItWithA:) alt_doItWithA: - (void)doIt { //... } - (void)doItWithA:(id)a { //... } - (void)alt_doItWithA:(id)a { //... } EP*U8JUI"ͱBMU@EP*U8JUI"Λ4XJ[[MF͠·͢

Slide 10

Slide 10 text

.FUIPE4XJ[[MJOH %JTQBUDI5BCMF .FUIPE *.1 @selector(doIt) doIt @selector(doItWithA:) doItWithA: @selector(alt_doItWithA:) alt_doItWithA: - (void)doIt { //... } - (void)doItWithA:(id)a { //... } - (void)alt_doItWithA:(id)a { //... } *.1Λަ׵͠·͢

Slide 11

Slide 11 text

%FNP -JOF"ET4%,ΦϦΤϯςʔγϣϯ

Slide 12

Slide 12 text

αϚϦʔ w ΫϥεͷϝιουςʔϒϧΛॻ͖׵͑Δ w ڧྗͰ͋ΔͨΊཚ༻Λආ͚Δ΂͖ w ඞͣަ׵લͷϝιʔυΛݺͼ·͢ w ΫϥεͷΧςΰϦʔͱ MPBE࿈ܞ͕Φεεϝ

Slide 13

Slide 13 text

'"2 NBJMXFJXBOH!MJOFDPSQDPN )JQ$IBUPOFWDBU %FNPDPEFIUUQTHJUIVCDPNPOFWDBU-BOETDBQF7JFX$POUSPMMFS%FNP