ios编程(第二版)第一个示例:Quiz

打个草稿,今儿太晚了 周末有时间继续补充吧


问题:


1.unrecognized selector sent to instance

方法名错误



2.UIApplicationMain 的地方:关于EXC_BAD_ACCESS

product-,Edit Scheme,在Environment Varibles中 添加 NSZombieEnabled YES 最后结果

关于出现僵尸信号SIGBAT或者EXC_BAD_ACCESS的解决方案

http://www.cnblogs.com/zlja/archive/2012/04/12/2444793.html

用这个方法能定位到底是哪一个对象的内存问题



3.performSelector:withObject:withObject:]: message sent to deallocated

 被这个错误困扰和很长时间,有点莫名其妙,一开始老是从这个消息上检查,以为时事件绑定或者是代码问题,问题其实出现在deallocated上,因为controller被设置为autorelease,view被addsubview到某个container上,所以触发事件的时候,发送message到已经dealloc的controller上,导致上述错误。 其实以前已经发现过这个问题,就是作为全局变量的string,如果不是是alloc,或者直接(指针)赋值过来的字符串,会不定时的被release掉,造成程序的不稳定



4.使用storyboard

Xcode4.2没有windows模板了,不过这个例子用带storyboard的single View App模板也能实现,

更多storyboard的功能还得去摸索


5.viewController不加载 init,改用viewDidLoad

查到没有init方法,用其他几个方法之一可以简单代替,多个viewController的初始还得继续学习

http://blog.csdn.net/zltianhen/article/details/6596973


6.两个按钮公用一个方法的实现

还有一种依靠sender去检查不同按钮的办法:

@implementation ViewController

@synthesize statusText;

-(IBAction)buttonPressed:(id)sender

{

NSString *title = [sender titleForState:UIControlStateNormal];//sender用于区分是哪个button,也就获得了不同的button的文字 titleForState是根据button状态获取文字的函数,比C#复杂的设计

NSString *newText = [[NSStringallocinitWithFormat:@"%@ button pressed.", title];

statusText.text = newText;

}

@end




最后上个截图:









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值