わかりましたので、次のファイルを持つ小さなプログラムがあります。
- HomeViewController (.h .m .xib)
- DataViewController (.h .m .xib)
- AppDelegate (.h .m)
- Person (.h .m) [OBJECT]
+ サポート ファイルなど...
HomeViewController のテキスト ボックスやその他の入力を介してユーザー入力を取得し、それらを Person (年齢、学年など) のインスタンスのプロパティとして設定するとします。DataViewController からそれら (同じインスタンス) にアクセスして表示するにはどうすればよいですか? ?
HomeViewController.h および .m
.hからのコード スニペットを次に示します。
@interface HomeViewController : UIViewController {
IBOutlet UIButton *done;
BOOL standardRes;
}
@property (nonatomic) int newAge;
@property (nonatomic) int newGrade;
-(IBAction)doneButtonPressed;
@end
.m
@implementation HomeViewController
@synthesize newAge, newGrade;
-(IBAction)doneButtonPressed{
Person *user = [[Person alloc]init]; //Creating an instance of Person called user
user.age = newAge; //Do I even need this if I use setters and getters in person.m?
user.grade = newGrade; //Do I even need this if I use setters and getters in person.m?
NSLog(@"Age: %i, Grade: %i", user.age, user.grade); //Testing with NSLog
newAge = 175;
[user setAge:(int)newAge]; //Calling setter method for property 'age' in Person.m
DataViewController *vc = [[DataViewController alloc]init];
[self.navigationController pushViewController:vc animated:YES];
}
そして、ここにちょっとした Person.h と .m があります
@interface Person : NSObject {
}
@property (nonatomic, getter = age, setter = setAge:) int age;
@property (nonatomic) int grade;
@end
@implementation Person
@synthesize age, grade;
-(void)setAge: (int) newAge {
age = newAge;
}
-(int)age {
return age;
}
@end
注:
- ナビゲーション コントローラーの使用
- iOS 6
- xCode 4.5.1
+ さらに情報が必要な場合はお知らせください。:)
PS私はこのことに少し慣れていないので、これはばかげた質問かもしれません;)