NSLog
正在返回输出'Null'而不是字符串,我预期这是一个私人实例变量等问题,但由于我不熟悉Object-面向对象编程,我不能确定原因。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);
}
有问题的NSLog在哪里? –
而'Player'是在实现中声明的,这使得它成为某种C全局或静态的,我想。所以我不知道你希望如何在别处引用它。 –
问题是NSLog(@“%@”,Player);返回null – PappaSmalls