登录CSDN,看到了有新首页:http://www1.csdn.net/
点去看一下,很清新,很有feel。看来现在无框是网页的大众趋势哈。以后就用这个首页吧.
入正题。现在搞IOS开发,刚刚接触MAC,相当不适应,最明显就是右击后找不到刷新菜单!!
说一下xCode 这个软件吧。一开始下载的是 4.6.1 版本,安装(其实我也不知道说安装是不是正确的,下载完后,双击dmg就直接可以打开使用了),new 一个 single view project 来试试,build 通过了,也启动了iphone 模拟器,可是运行程序时,提示“被模拟的应用程序已经退出”,就一直如此,搞不明白。
后来,换了 4.5 的版本,build and run ,正常。初步估计是 MAC 的版本问题。我用的是 10.8.2.
看教程开始学object-c 的朋友对这个一定不陌生。比如一个警告窗口显示:
NSString *info = [NSString stringWithFormat:@"your name is %@, and your company is %@", nameTX.text, unitTX.text]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"confirm your information" message:info delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:@"cannel", nil]; [alert show]; [alert release];
原来是IOS5 之后引入了 ARC(AutomicReferenceCounting),应该是自动引用计数吧。同时可以看到 main 函数也是跟教程不同的:
int main(int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }
就可以了。
修改后,对于 weak 类型的变量,@synthesize 会不通过,变成 nonatomic 就得了。
运行iphone程序时,发现不能退出虚拟的键盘,=.=,想想android是可以在输入控件失去焦点时退出键盘的。。。iphone里,要自己实现。实现的话,具体看这里吧,图文并茂:http://m.oschina.net/blog/42545?p=2
还有,NSString *这个不需要release 操作。