NSLog
期待していた文字列ではなく、出力 'Null' を返しています。これは、プライベート インスタンス変数などの問題であると思われますが、オブジェクト指向プログラミングに慣れていないため、原因を特定できません。
//The viewDidLoad method in MainGameDisplay.m:
- (void)viewDidLoad
{
[super viewDidLoad];
Engine *engine = [[Engine alloc] init];
[engine setPlayerName: viewController];
}
文字列は によって入力されUITextField
、プロパティは
//ViewController.h
@property (strong, nonatomic) IBOutlet UITextField *PlayerNameTextView;
[engine setPlayerName: self]
このメソッドは正常に動作し、 がに配置されている場合は正しい文字列を返しますが、ViewController
の場所以外の場所で*PlayerNameTextView
はこの問題が発生します。
//Engine.m
@implementation Engine
{
ViewController *firstPage;
}
NSString *Player;
-(void) setPlayerName: (ViewController *) name
{
Player = [[name PlayerNameTextView] text];
NSLog(@"%@", Player);
}