您的位置:首页 > 移动开发

Your First iOS App--苹果官方iOS文档学习

2016-01-30 16:36 441 查看
//
//  ViewController.m
//  HelloWorld
//
//
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize userName=_userName;
@synthesize textField=_textField;
@synthesize label=_label;
- (void)viewDidLoad {
//[self setTextField:nil];一初始化为空,注释掉后,label可以正常获取用户输入的值。
//[self setLabel:nil];文档45页说明加上了这些可能是为了说有什么作用,记得删除,不然会影响后面的label输出显示内容。
//[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)changeGreeting:(id)sender {
self.userName = self.textField.text;
NSString *nameString = self.userName;
NSLog(@"%@",nameString);
if ([nameString length] == 0) {
nameString = @"World";
NSLog(@"111");
}
NSLog(@"222");
NSString *greeting = [[NSString alloc]initWithFormat:@"Hello,%@!",nameString];
NSLog(@"%@",greeting);
self.label.text = greeting;
NSLog(@"333");
}
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField{
if (theTextField == self.textField) {
[theTextField resignFirstResponder];
}
return YES;

}
@end




15、16行是Your First ios App 第45页上面加上去的,用的有道翻译软件也没有提示说,这两句会影响最终事例的效果显示。代码中加了很多nslog输出,是为了做测试,这个方法屡试不爽。第二张截图中右下角有代码输出提示。在27行加上nslog后,输出竟然是(null),所以判断,用户输入的内容没有被获取。这下好判断问题出现在哪了,因为对Objective语法不熟悉,先注释了,一运行,结果成了,这两句语句我得仔细查查。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: