iPhone�p�A�v���P�[�V�����J���Œ��ڂ��W�߂錾��uObjective-C�v�BC++�Ƃ͈قȂ�C����̊g����ڎw�������̌���̊�{�𗝉����悤�i�ҏW���j
�@������A�v���P�[�V�����́A�V�X�e���̃�������ɓW�J����ē��삵�܂��B
�@�������͌���ꂽ�����Ȃ̂ŁA�A�v���P�[�V�����͎����ʂɏ���Ȃ��悤���ȊǗ����Ȃ��瓮�삷��K�v������܂��B���̓������������̂��A�J���҂ɂ�郁�����Ǘ��̎����ł��B
�@�V�����o�ꂵ������̂Ȃ��ɂ̓������Ǘ��������ōs����i����̃G���W�������ňÖٓI�Ƀ������Ǘ�������Ă���j���̂��������߁A�J���҂��������Ǘ����ӎ����邱�Ƃ����Ȃ��Ȃ��Ă��܂��B
�@���ہAObjective-C�ł��AObjective-C 2.0����iMac OS X 10.5 ����j���K�x�[�W�R���N�V�����Ƃ��������������Ǘ��̎d�g�݂���������Ă��܂��B
�@�������A�����ł̃������Ǘ��́A���ׂẴA�v���P�[�V�����ɂ����ĕK�����������I�ł���Ƃ͌���܂���B���V�r�A�Ƀ������Ǘ����s���K�v������A�v���P�[�V�����ł́A�J���҂���ʂɉ����Ė����I�Ƀ������̊��蓖�Ă������s�����ƂŁA�X�}�[�g�Ńp�t�H�[�}���X�ɗD�ꂽ�v���O��������邱�Ƃ��ł��܂��B
�@���������K�x�[�W�R���N�V���������p�ł��Ȃ��v���b�g�t�H�[���iMac OS X 10.4 �ȑO��AiPhone�Ȃǁj�̂��Ƃ��l�����Ȃ���Ȃ�܂���B
�@�A�ڂ̍Ō��2����g���āAObjective-C�ɂ����郁�����Ǘ��̊�{�I�Ȏd�g�݂ɂ��ĉ���������Ǝv���܂��B
�@�������Ǘ��Ƃ͋�̓I�ɉ����s���Ă���̂ł��傤���B����́A�K�v�ȂƂ��Ƀv���O�����̃f�[�^����������ɓW�J�i�������̈�����蓖�āj���A�K�v���Ȃ��Ȃ�����A���̃������̈��������邱�Ƃł��B
�@�Ǘ��̑ΏۂƂȂ�f�[�^�́A�I�u�W�F�N�g�w���̌���ł́A�����̏ꍇ�N���X�̃C���X�^���X�ł��B�N���X�C���X�^���X�̐����i���������蓖�āj���K�v�ɂȂ�^�C�~���O�ɂ��ẮA���܂�������Ƃ͂Ȃ��ł��傤�B���́A�������������邩�ł��B
�@�C���X�^���X�����鑤�̕��������̂Ȃ��ł́A�C���X�^���X�̗v�s�v�͔�r�I�ȒP�ɔ��f�ł��邩������܂���B�������A����܂ł����Ă����悤�ɁA���������C���X�^���X�́A���\�b�h����ĕʂ̃I�u�W�F�N�g�ɓn�����ꍇ������܂��B�n������̕����ŁA���̃C���X�^���X�����܂ŕK�v�Ƃ����̂��A�s�v�ɂȂ����炿���Ɖ�����Ă����̂��A�Ƃ��������Ƃ͒m��R������܂���B
�@���̂悤�Ȗ��ɑΏ����邽�߁AObjective-C�ł́A����I�u�W�F�N�g���ǂꂾ���K�v�Ƃ���Ă��邩�i���邢�͕s�v�Ɣ��f���ꂽ���j���A�P���Ƀv���X�}�C�i�X�ŃJ�E���g���Ă����d�g�݂��̗p���Ă��܂��B���̎d�g�݂��Q�ƃJ�E���^�Ƃ����܂��B
�@�Ⴆ�A�v���O�������W�b�N�̂���ꏊ�Łu���̃I�u�W�F�N�g�A������Ƃ��炭�g������A�j���i�������̉���j���Ȃ��łˁv�Ƃ����錾�����Ă����܂��B����ƁA�Q�ƃJ�E���^�͂P�v���X����܂��B
�@���̌�A�u�������K�v���Ă��������ǁA�g���I��������班�Ȃ��Ƃ��l�̂Ƃ���ł͂����v��Ȃ���v�Ƃ������錾�����܂��B����ƁA�Q�ƃJ�E���^�͂P�}�C�i�X����܂��B
�@���̂悤�ȁA�I�u�W�F�N�g���L���̊l���ƕ����i�Q�ƃJ�E���^�̑����j���A�������ƂɎ����̎���͈͓��ōs���܂��B�ʂ̃I�u�W�F�N�g�ɓn���Ă��܂�����A������łǂ������邩�͎���͈͊O�ƂȂ�܂��̂Ŋ֒m���܂���B
�@�Q�ƃJ�E���^��0�ɂȂ�ƁA���̃I�u�W�F�N�g�͒N���K�v�Ƃ��Ă��Ȃ��Ƃ������ƂɂȂ�̂ŁA���̃������̈�͉������܂��B
�@�u���̃I�u�W�F�N�g�������Ȃ��ŁI�v�̐錾�ɂ�retain�Ƃ������\�b�h���A�u�����v��Ȃ��Ȃ�����I�v�Ƃ����錾�ɂ�release�Ƃ������\�b�h�𗘗p���܂��B�ǂ����NSObject�̃��\�b�h�Ȃ̂ŁA������N���X�̃I�u�W�F�N�g����Ăяo�����Ƃ��ł��܂��B
�@�܂��A�Q�ƃJ�E���^�̑������ȒP�ȃT���v���Ŋm�F���Ă݂܂��傤�B����I�u�W�F�N�g�̎Q�ƃJ�E���^�̒l�́AretainCount�Ƃ������\�b�h�Ŏ擾�ł��܂��B
01 #import <Foundation/Foundation.h> 02 03 int main(void) { 04 05 NSObject *myObj = [[NSObject alloc] init]; // (a) 06 printf("%d\n", [myObj retainCount]); // 07 08 [myObj retain]; // (b) 09 printf("%d\n", [myObj retainCount]); // 10 11 [myObj release]; // (c) 12 printf("%d\n", [myObj retainCount]); // 13 14 [myObj release]; // (d) 15 //printf("%d\n", [myObj retainCount]); // (e) 16 17 return 0; 18 }
a.�C���X�^���X���������_�ialloc���\�b�h�����s�������_�j�ŁA�Q�ƃJ�E���^��1�ɂȂ�܂��B
b.retain���\�b�h�ŎQ�ƃJ�E���^��1�v���X���܂��B���̎��_�ŎQ�ƃJ�E���^��2�ɂȂ�܂��B
c.release���\�b�h�ŎQ�ƃJ�E���^��1�}�C�i�X���܂��B���̎��_�ŎQ�ƃJ�E���^��1�ɂȂ�܂��B
d.�����release���\�b�h���Ăяo���āA�Q�ƃJ�E���^���}�C�i�X���܂��B���̎��_�ŎQ�ƃJ�E���^��0�ɂȂ�A�I�u�W�F�N�g�͉������܂��B
e.���łɉ������Ă���̂ŁA���̃I�u�W�F�N�g�ɃA�N�Z�X�ł��܂���B�T���v���R�[�h���̃R�����g���O���ƃG���[�ɂȂ�܂��B
Copyright © ITmedia, Inc. All Rights Reserved.