2012�N04��01��

��ʊԂł̃f�[�^�̎󂯓n���ɕt����

�C���^�[�l�b�g�̌f���‚ŏ��S�҂���̎���Ƃ��āA��‚̉�ʂ̊ԂŃf�[�^�̎󂯓n������肽�������̕��@���킩��Ȃ��Ƃ����̂��悭��������B���A�������iOS SDK�v���O���~���O�̘b�ˁB

�ʂɃA�b�v�������̂��߂ɂȂɂ����ʂ�API��p�ӂ��Ă���Ă���킯�ł͂Ȃ��̂ŕ��ʂ�C����̃u���O���~���O�ł���Ă���悤�Ƀv���O���������΂��������̘b�B�ł�iOS�v���O���~���O�ł͉�ʂ̕\���̂��߂ɂ͂��̃R���g���[�����g���Ȃ����Ƃ��A���������ɂ͂��̃��\�b�h���I�[�o�[���C�h���Ȃ����Ƃ��A�F�X���ߖ�������̂ł����ƂȂɂ����܂肪����񂾂낤�Ǝv���Ă��܂����‚���ꂸ�Ɏ��������̂��낤�B

�Ƃ͌����A��������������iOS�I�ɂ͔���₷���Ƃ��f�o�b�O�����₷���Ƃ��F�X����킯�ŁA����͂�����܂Ƃ߂Ă݂��B

��ʊԂł̎󂯓n���Ƃ���
�E�e�q�֌W�̂���ꍇ
�E�e�q�֌W���Ȃ��ꍇ
�̓�‚ɑ�ʂł���B�悤�̓I�u�W�F�N�g�̊Ԃɒ��ڎQ�Ƃ����邩�ǂ����̈Ⴂ�Ȃ̂Őe�q�Ɍ���Ȃ��̂����ǁA����₷���܂Ƃ߂�Ə�L�ł������낤�B

(1)�e�q�֌W���Ȃ��ꍇ
(1-a)�O���[�o���ϐ�
(1-b)�V���O���g���I�u�W�F�N�g
(1-c)�A�v���P�[�V�����f���Q�[�g
(1-d)�O���t�@�C��
(1-e)���[�U�[�f�t�H���g
(2)�e�q�֌W������ꍇ
(2-a)��ʂ��J�����i�e����q�j
(2-b)��ʂ�‚��鎞�i�q����e�j
(2-c)��ʂ��J�����i�e����q�jSegue
(2-d)��ʂ�‚��鎞�i�q����e�jSegue

���ۂ̃T���v���R�[�h��������̂ŎQ�l�ɂ��Ăق����B

(1)�e�q�֌W���Ȃ��ꍇ



��ʂ�؂�ւ��Ă��I�u�W�F�N�g�����݂��Ă���Ƃ��ɑ��������݂��Ă��邩�ǂ������킩��Ȃ��킯�ŁA���̏ꍇ�ɂ͒N���Ƀf�[�^�̒����������Ă��炤�����Ȃ��B

�T���v���̓���͎��̒ʂ�B��‚̃^�u������^�u�͓���UI�B�‚�A���(FirstViewController)�ƐԂ�B���(SecondViewController)������A��ʊԂŒl�̌���������̂Œl�͈�v���Ă���B

shot1.png

shot2.png

�l���Z�b�g����^�C�~���O�͒l��UI����ύX���ꂽ���ł��������A��ʂ�‚��悤�Ƃ��鎞�ł������B

�T���v���ł͒l���X�V���ꂽ���ɒl���������݁A��ʂ�\������Ƃ��ɕۑ����ꂽ�f�[�^��ǂݏo���Ă���B

(1-a)�O���[�o���ϐ�


��肩�����悭����Ȃ���΃O���[�o���ϐ����g���΂����B�O���[�o���ϐ����g���ƃf�o�b�O�ō����ƌ���ꂽ��������Ȃ����A�����Ŗ����Ă���l�͂܂��ŏ��̃T���v���v���O�����������Ă���i�K���낤����A�C�ɂ��邱�Ƃ͂Ȃ��B�����[�X����A�v������鍠�ɂ͑��̕��@���g����悤�ɂȂ��Ă���͂��B����ȂƂ���Ŗ����Ă���͎̂��Ԃ̖��ʁB�������ƃO���[�o���ϐ����g���Ēl���󂯓n�������Ƒ��̉��y�̖‚炵���Ƃ��J�����̎g�����Ƃ��ʔ������Ƃ������Ă݂悤�B

�T���v���v���O�����ł͈ȉ����B�X�C�b�`�̒l��A�AB�Ԃł���肷��B

�܂��O���[�o���ϐ��̒�`���K�v�BA���F
BOOL firstValue = NO;


B���ł͎Q�Ƃ̐錾�݂̂��s���B
extern BOOL firstValue;


����Ȍ�́AAB�ŃR�[�h�̓��e�͂܂����������B�l��ǂݏo���ăZ�b�g����B
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
globalView.on = firstValue;
}


UI�ŕύX�����l���Z�b�g����B
-(void)switchDidChanged:(id)sender
{
firstValue = globalView.on;
}


�������AObjective-C�N���X�̃I�u�W�F�N�g���g���ꍇ�ɂ�retain����ӔC���B���ɂȂ�̂Œ��ӂ��K�v���B

(1-b)�V���O���g���I�u�W�F�N�g


�I�u�W�F�N�g�w���ł悭�g���f�[�^�̕ێ����ɃV���O���g���I�u�W�F�N�g������B�A�v���P�[�V�����S�̂���A�N�Z�X�”\�Ńv���O�������s���ɂЂƂ‚����Ȃ��I�u�W�F�N�g���B�O���[�o���ϐ��̃I�u�W�F�N�g�łƎv���΂����B�P�Ƀf�[�^�̎󂯓n���Ɏg���Ƃ����̂͂��܂�悢�g�����Ƃ͌����Ȃ����O���[�o���ϐ���肩�͂����B

�T���v���v���O�����͏ȗ�����B�V���O���g��+Objective-C�ŃO�O���Ă���B

(1-c)�A�v���P�[�V�����f���Q�[�g


�V���O���g���̃N���X���`����̂���ς����āH���͗\�ߗe�Ղ��ꂽ�V���O���g���I�u�W�F�N�g����쐬�ς݂��B���ꂪ�A�v���P�[�V�����f���Q�[�g�B����Ӗ��S�Ă̐e���Ƃ�������B������S�Ẳ�ʃR���g���[�������̃A�v���P�[�V�����f���Q�[�g�ւ̎Q�Ƃ��ŏ����玝���Ă��āA�f�[�^�͂��̐l�ɗa�����Ă��Ă��炤�̂������B�����ŃI�u�W�F�N�g�𐶐������̂������琶�����ɎQ�Ƃ����Axib�ō�����̂Ȃ�xib�ŃA�E�g���b�g��ڑ����Ă����B

���̂������킩��Ȃ��H���v�A�A�v���P�[�V�����I�u�W�F�N�g�̓O���[�o���ϐ��ŃA�N�Z�X�”\�Ȃ񂾁B

�T���v���v���O�����ł͈ȉ����B�e�L�X�g�t�B�[���h�ɓ��͂����������A�AB�Ԃł���肷��B�v���O�����̓��e��A�AB�܂����������B
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
AppDelegate *appDelegate;
appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
singleView.text = appDelegate.singleString;
}


UI�Ńe�L�X�g���ύX���ꂽ���F
-(void)textFieldDidEndEditing:(UITextField *)textField
{
AppDelegate *appDelegate;
appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
appDelegate.singleString = singleView.text;
}


(1-d)�O���t�@�C��


���A�Ńt�@�C���ɏ����o���ĉ��B�œǂݏo���΃f�[�^�̎󂯓n���͉”\���B�A�v���P�[�V�������I�����Ă��f�[�^���c���Ă���̂Ŏ���܂��g����Ƃ�������p�t���B�܂��ł����\��ς����獡�͂܂�����Ȃ��Ƃ������Ȃ���ˁB�����������ʓ|���B����������͏ȗ�����B�ł����͂�����A�v���P�[�V�����O�̂ǂ����ɏ������ނƂ�����@�����邱�Ƃ��o���Ă����Ă���BiCloud���Ă��������͂Ȏ�i�����邪����͂܂��ʂ̘b�B

(1-e)���[�U�[�f�t�H���g


���̊O���t�@�C���ɏ����o���Ă����̂��ȒP�Ɏg����̂����̃��[�U�[�f�t�H���g���B�����ݒ�Ȃǂ��������ޏꏊ�����A������Ƃ����Ȃ��ʊԂ̃f�[�^�̎󂯓n���Ɏg���Ă��{���Ȃ����낤�B�������t�@�C���ɕۑ�����iTunes�Ɠ��������Ƃ��ɂ̓o�b�N�A�b�v����邩��A1�N��ɍċN�����Ă��f�[�^�����o����B

�T���v���v���O�����ł͈ȉ����B�Z�O�����g�̒l��A�AB�Ԃł���肷��B�v���O�����̓��e��A�AB�܂����������B
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if ( [[userDefaults valueForKey:@"selectedSegmentIndex"] intValue] == 0 ) {
defaultsView.selectedSegmentIndex = 0;
} else {
defaultsView.selectedSegmentIndex = 1;
}
}


UI�Œl���ύX���ꂽ���F
-(void)segmenetDidChanged:(id)sender
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setValue:[NSNumber numberWithInt:defaultsView.selectedSegmentIndex]
forKey:@"selectedSegmentIndex"];
[userDefaults synchronize];
}


(2)�e�q�֌W������ꍇ


�e�q�֌W�������Ă���L�̎�@���g���Ă������e����q�A�q����e�ł���Β��ڂ��̃I�u�W�F�N�g��m���Ă���̂�����A�I�u�W�F�N�g�Ƀ��b�Z�[�W�𑗂��ăf�[�^�������t���Ă��܂��΂����̂��B���o���ꍇ�ɂ���Ƃ����v�����\�b�h���Ăяo���Ă������B

���ڃf�[�^��n���i���炤�j���\�b�h�������󂾂���킴�킴�������邱�Ƃ��Ȃ���ˁB���A���ŒĂяo���΂������킩��Ȃ��ꍇ�̂��߂ɁA�������Ă݂��B

shot3.png

(2-a)��ʂ��J�����i�e����q�j


�e��ʂ���q��ʂɉ�ʂ��J�ڂ��鎞�A�q��ʂ̃R���g���[����e��ʂ͎����Ă���͂����B�����炻���Őe����q��ʃR���g���[���Ƀf�[�^��n�����\�b�h��ǂݏo���񂾁B

�T���v���v���O�����ł͈ȉ����B�e�̓��̓f�[�^���q���Ƀe�L�X�g�Ƃ��ēn���Ă���B
- (IBAction)showChildAction:(id)sender {
ChildViewController *aViewController = [[ChildViewController alloc]
initWithNibName:@"ChildViewController" bundle:nil];
NSString *aString = ...;
// �q�֒l���Z�b�g����B
aViewController.text = aString;
aViewController.delegate = (id<ChildViewDelegate>)self;
// �q����󂯎�邽�߂̏���
[self presentModalViewController:aViewController
animated:YES];
}


(2-b)��ʂ�‚��鎞�i�q����e�j


�q��ʂŃf�[�^��ύX���Đe�ɒl��n���ɂ͕‚���Ƃ��������B���̎��A�q��ʃR���g���[�����e�ւ̎Q�Ƃ��C���X�^���X�ϐ��Ƃ��Ď����Ă��Đe�̃��\�b�h�𒼐ڌĂяo���悤�ɂ���̂��悢�B�ł��A�e���q���̂��Ƃ�m���Ă��Ă������ǁA�q���͂��܂�e�̂��Ƃ�m���Ă���̂͗ǂ��Ȃ����ƂƂ���Ă���B�����ĒN���ɗ{�q�ɏo���ꂽ�Ƃ��Ɏ��̐e�͂��������������������ƌ����ƈ�Ă̐e�͔߂��ނ���H�܂��Ⴆ�������������A�e�̂��Ƃ͒m��Ȃ����������B���Ⴀ�ǂ�����Đe�̃��\�b�h���Ăяo���́H���ꂪ�v���g�R���ƃf���Q�[�g���B

�q���f�[�^��ύX�������Ƃ�m�点�郁�\�b�h���q�̕��Ő錾���Ă����B�e�͂��̃��\�b�h���������Ă��邱�Ƃ�����ۏ؂���΂����B���ꂪ�v���g�R���B�����Ďq���ɂ͐e���N�������肵�Ȃ��ŃZ�b�g���Ă����B���ꂪ�f���Q�[�g�i�܂����O�͉��ł��������A������ƈӖ����Ⴄ�C�����邪�f���Q�[�g���Ă��Ă���Ⴊ�������炻��ł������낤�B�^�[�Q�b�g�̂ق����K���Ȃ̂�������Ȃ��j�B

�T���v���v���O�����ł͈ȉ����B�q��ʂœ��͂����e�L�X�g��e��ʂ̃e�L�X�g�r���[�ɃZ�b�g����B

�܂�ChildViewController.h�B
@class ChildViewController;

@protocol ChildViewDelegate %lt;NSObject>

- (void)childViewDidChanged:(ChildViewController*)viewController;

@end

@interface ChildViewController : UIViewController

@property(strong, nonatomic) NSString *text;
@property(weak, nonatomic) id<ChildViewDelegate> delegate;

@end


�q��ʂ�‚���Ƃ��ɐe�i���f���Q�[�g�j���Ăяo���B
- (IBAction)okAction:(id)sender {
[self.textView resignFirstResponder];
self.text = self.textView.text;
if ( [self.delegate respondsToSelector:@selector(childViewDidChanged:)] ) {
[self.delegate childViewDidChanged:self];
}
[self dismissModalViewControllerAnimated:YES];
}


�e��ʂł͂�����󂯎��B
- (void)childViewDidChanged:(ChildViewController*)viewController
{
resultsView.text = viewController.text;
}


(2-c)��ʂ��J�����i�e����q�jSegue



Storyboard���g���Ă���ꍇ�ɂ͏����ꏊ��������ƈႤ�B�q��ʂ��������J�����肷��̂̓t���[�����[�N���ʓ|�����Ă���Ă��Ď����ł͏����Ȃ�����B

�T���v���v���W�F�N�g�͕ς����SegueSample�̂ق��BViewController�ł̓X���C�_�[�Œl��ύX���āANextViewController�̑��ł̓X�e�b�p�[�Œl��ύX����B�����l���󂯓n���̂ŏ�ɗ����̉�ʂ̒l�͓����ɂȂ�B

shotS1.png

shotS2.png

�T���v���v���O�����ł͈ȉ����B
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ( [[segue identifier] isEqualToString:@"Push"] ) {
NextViewController *nextViewController = [segue destinationViewController];
nextViewController.value = self.value;
nextViewController.delegate = (id<NextViewDelegate>)self;
}
}


(2-d)��ʂ�‚��鎞�i�q����e�jSegue



�T���v���v���O�����ł͈ȉ����B

�q��ʂ�‚���Ƃ��ɐe�ɒl��n���B
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
if ( [self.delegate respondsToSelector:@selector(nextViewValueDidChanged:)] ) {
[self.delegate nextViewValueDidChanged:self.value];
}
}


������󂯂�e�̃��\�b�h�B
-(void)nextViewValueDidChanged:(int32_t)value
{
self.sliderView.value = value;
[self sliderValueDidChnaged:self.sliderView];
}



--
������񑼂ɂ��������@�͂�����ł����邾�낤�B�����S�҂����ʂɍ��Ȃ炱�̈ʂ̒�����g���̂��������낤�B

�T���v����Version 4.3.1 (4E1019)��ARC����ō쐬�B
ValueSample.zip

Storyboard���g�����ꍇ�B
SegueSample.zip
posted by �i�����쏊 at 23:25| ���� ☀| Comment(3) | TrackBack(0) | iPhone/iPod touch | ̃uO̓ǎ҂ɂȂ | XV`FbN
���̋L���ւ̃R�����g
�ŋ߁AiPhone�A�v���̊J�����n�߂܂����B

�ڂ���؂ł��I�{���ɂ��肪�Ƃ��������܂��B

��Ž��₳���Ē��������̂ł����A������̋L���̂������ŁA�e����q�ւ̒l�̈����n���̕��@�͕��������̂ł����A�e���瑷�E������e�ւ̒l�̂����͂ǂ̂悤�ɂ���΂����̂ł��傤���B

��낵�����肢���܂��B
Posted by �䂤 at 2012�N07��02�� 21:37
�e�Ƒ��̊Ԃ̃f�[�^�̂��Ƃ�́A
a)��‚̉�ʊԂɐe�q�֌W���Ȃ��ꍇ�̂�肩�����g���B
b)�e����q�A�q���瑷�ƃ����[�`���Ńf�[�^���󂯓n���B
c)�q����e�ւ̃|�C���^���‚���A�q�����֐e�ւ̃|�C���^��n��������e�֐q�˂�B
�̂����ꂩ���Ǝv���܂��B

�q�ł͂��̃f�[�^���܂������g��Ȃ��̂ł����a�������ł����A��ʂɐe�q���̊֌W������̂Ȃ�f�[�^�ɂ��Ȃ�炩�̊֌W�����肻���Ȃ̂ŁA�q���o�R������b�������Ǝv���܂��B

c�͖ʓ|�Ȃ̂ō���͐������ȗ����܂��B
Posted by �i�����쏊 at 2012�N07��02�� 22:19
���Ԏ����肪�Ƃ��������܂��B

��������Ă݂܂��I
Posted by �䂤 at 2012�N07��04�� 15:35
�R�����g������
�����O:

���[���A�h���X:

�z�[���y�[�W�A�h���X:

�R�����g: [�K�{����]

���u���O�I�[�i�[�����F�����R�����g�̂ݕ\������܂��B

���̋L���ւ̃g���b�N�o�b�N
�~

���̍L����90���ȏ�V�����L���̓��e���Ȃ��u���O�ɕ\������Ă���܂��B