【IOS】1.xcode 开发的零碎整理 | ARC 关闭键盘

登录CSDN,看到了有新首页:http://www1.csdn.net/

点去看一下,很清新,很有feel。看来现在无框是网页的大众趋势哈。以后就用这个首页吧.


1. BEGIN

入正题。现在搞IOS开发,刚刚接触MAC,相当不适应,最明显就是右击后找不到刷新菜单!!

说一下xCode 这个软件吧。一开始下载的是 4.6.1 版本,安装(其实我也不知道说安装是不是正确的,下载完后,双击dmg就直接可以打开使用了),new 一个 single view project 来试试,build 通过了,也启动了iphone 模拟器,可是运行程序时,提示“被模拟的应用程序已经退出”,就一直如此,搞不明白。

后来,换了 4.5 的版本,build and run ,正常。初步估计是 MAC 的版本问题。我用的是 10.8.2.


2. 关于 release

看教程开始学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];

build 时出错了,说release 这个不可用。

原来是IOS5 之后引入了 ARC(AutomicReferenceCounting),应该是自动引用计数吧。同时可以看到 main 函数也是跟教程不同的:

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

ARC 好处是可以不用手动release内存,但是不大习惯,可以去 build setting 中的 compiler language -》 Objective - C automic reference counting 设置为 NO。

就可以了。


修改后,对于 weak 类型的变量,@synthesize 会不通过,变成 nonatomic 就得了。


3. 关闭IPHONE的虚拟键盘

运行iphone程序时,发现不能退出虚拟的键盘,=.=,想想android是可以在输入控件失去焦点时退出键盘的。。。iphone里,要自己实现。实现的话,具体看这里吧,图文并茂:http://m.oschina.net/blog/42545?p=2


还有,NSString *这个不需要release 操作。





原文地址:https://www.cnblogs.com/nerve/p/3185430.html