第一个ios应用(5)
来源:互联网 发布:淘宝一千零一夜男厨师 编辑:程序博客网 时间:2024/05/08 19:00
如果你的应用仍然无法正常工作,请根据本章节来尝试进行故障排查。如果仍然无法找到错误,请按照本章节最后的代码清单和你的代码进行逐一比对。
代码和编译器警告
你的代码应该能够无警告并通过编译。如果发现有警告出现,建议你将它们当成错误来看待。因为 Objective-C 是个非常灵活的语言,有时候编译器顶多把一些地方判定成警告而不是错误。
检查故事板文件
作为一名开发者,如果发现有东西运行不正常,出于自然的直觉你大概会去检查源代码中的漏洞。但是在 Cocoa Touch 开发中,需要注意另一件事:你的应用中许多配置可能被“编码”到了故事板文件中。打个比方,如果你的连接不正确,应用也不会如预期那样正常工作。
- 如果点按按钮后文字没有更新,则可能是按钮的动作没有和视图控制器正确连接,或者是视图控制器的插座变量没有和文本框或者标签正确连接。
- 如果你点按 Done 按钮后键盘并未收回,则有可能是文本框的委托或者视图控制器的 textField 插座变量没有跟文本框正确连接。请务必检查故事板中文本框的连接情况:按住 Control 键并点按文本框,调出半透明的连接面板。你应该看到 delegate 插座变量以及 textField 引用旁边是带有填充的圆形。
如果你确实连接了委托,那么可能存在某些更加微妙的问题(参看下边的“委托方法名称”)。
委托方法名称
委托中常见的一个错误就是拼错委托方法的名称。就算正确设定了委托对象,但是如果委托没有使用方法实现中的正确名称,则正确的方法就永远也不会被调用。最好的建议是从开发者文档中拷贝和粘贴委托方法的声明,比如 textFieldShouldReturn:。
代码清单
在这个部分,HelloWorldViewController 类的接口和实现文件都被完全罗列出来。需要注意的是本代码清单不包含由 Xcode 模板提供的其他方法实现以及代码注释。
接口文件:HelloWorldViewController.h
#import <UIKit/UIKit.h>
@interface HelloWorldViewController : UIViewController <UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UITextField *textField;
@property (weak, nonatomic) IBOutlet UILabel *label;
@property (nonatomic, copy) NSString *userName;- (IBAction)changeGreeting:(id)sender;
@end
实现文件:HelloWorldViewController.m
#import “HelloWorldViewController.h”
@implementation HelloWorldViewController
@synthesize textField=_textField;
@synthesize label=_label;
@synthesize userName=_userName;
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
if (theTextField == self.textField) {
[theTextField resignFirstResponder];
}
return YES;
}- (IBAction)changeGreeting:(id)sender {
self.userName = self.textField.text;NSString *nameString = self.userName;
if ([nameString length] == 0) {
nameString = @”World”;
}
NSString *greeting = [[NSString alloc] initWithFormat:@”Hello, %@!”, nameString];
self.label.text = greeting;
}
@end转自:http://www.guomii.com/posts/21142
- 第一个ios应用(5)
- 第一个ios应用(1)
- 第一个ios应用(2)
- 第一个ios应用(3)
- 第一个ios应用(4)
- IOS第一个界面应用
- 关于如何创建第一个 iOS 应用
- Chapter1 《第一个简单到IOS应用》
- 第一章 第一个ios应用 笔记
- iOS应用开发入门(1)——第一个iOS应用
- 你的第一个iOS应用(一) 关于创建你的第一个iOS应用
- iOS菜鸟成长笔记(1)——第一个iOS应用
- iOS 11开发教程(二)编写第一个iOS 11应用
- Django1.5:(二)创建第一个Django应用5
- Xcode4.3开发第一个IOS应用实例(很详细)
- 第一个iOS应用——泽化计算器(ZiwerCounter)
- iOS学习(二十九)创建第一个app应用,不用故事板,创建主页
- Django1.5:(二)创建第一个Django应用1
- 1134:猴子与香蕉 dp
- 单元测试利器 JUnit 4
- C++枚举
- 未解——电脑无法录音
- div效果很好的遮盖层效果
- 第一个ios应用(5)
- C#获取dll中函数地址
- 枚举
- hdu 2094 产生冠军(拓扑排序 easy)
- char与String的区别
- qt label scrolltext
- 测试佳话—人人都是测试大牛
- 处理页面加载图片js(等比例压缩图片)
- scrollView使用