1、主线程刷新
2、获取工程内的数据(image plist)
3、判断设备的软件版本
4、定义屏幕的宽和高
5、防止锁屏
6、设置混编
7、打包安装
8、注释插件
9、创建导航栏按钮
10、设置时间间隔,并添加到runloop当中一直滚动
11、延迟操作
12、推出视图同时隐藏控制栏
13、退出第一响应
14、关联:一个对象可以保持对另一个对象的引用,并获取那个对象
15、pch文件使用
16、证书的制作(环信推送)
17、国际化
18、代码块地址
19、SVN使用
20、计算文字宽度、高度
21、删除项目中所有.svn和.git文件
22、自定义alertView
23、不同tabbar之间跳转
1、主线程刷新
dispatch_async(dispatch_get_main_queue(), ^{
[_tvContent reloadData]; //数据添加结束后加载表格
});
2、获取工程内的数据(image plist)
NSArray *datas = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"datas" ofType:@“plist"]];
3、判断设备的软件版本
#define iPhoneSystemVersion ([UIDevice currentDevice].systemVersion.floatValue)
4、定义屏幕的宽和高
#define MainScreenWidth ([UIScreen mainScreen].bounds.size.width)
#define MainScreenHeight ([UIScreen mainScreen].bounds.size.height)
5、防止锁屏
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
6、设置混编
“ios中如果arc和非arc文件混编,可以在build parses中指定compile flags,如果arc文件设为”-fobjc-arc",非arc文件设为"-fno-objc-arc"”
7、打包安装
http://blog.csdn.net/remote_roamer/article/details/18731897
第一步 product —> archive
第二步 show in finder
第三步 显示包内容,拖拽到itunes的应用程序中
第四步 右键点击iTunes中生成的文件,点击Show in Finder
第五步 安装
8、注释插件
很多时候,为了快速开发,很多的技术文档都是能省则省,这个时候注释就变得异常重要,但是每次都要手动输入规范化的注释,着实也麻烦,但有了VVDocumenter,规范化的注释,主需要输入三个斜线“///”,就OK啦!
项目地址:https://github.com/onevcat/VVDocumenter-Xcode
但是问题来了,很多人都安装了,发现根本就用不了,其实你只是少了一个关键的步骤。
(1)下载插件
(2)用Xcode打开工具VVDocumenter,编译(Cmd + B)
(3)退出Xcode,并重启。
(4)关键的一步,当我们点击Xcode打开后,会弹出一个对话框,这时默认的是Skip Bundle,我们要选择的是另一个Load Bundle。如果你选择了Skip,就不会去加载这个插件,必须Load。
9、创建导航栏按钮
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"< Back" style:UIBarButtonItemStyleDone target:self action:@selector(rebackButtonClick:)];
10、设置时间间隔,并添加到runloop当中一直滚动
/**
* 参数1:时间间隔
* 参数2:self
* 参数3:时间到了执行的方法
* 参数4:nil
* 参数5:NO
*/
scrollTimer = [NSTimer scheduledTimerWithTimeInterval:9.0 target:self selector:@selector(switchFocusImageItems) userInfo:nil repeats:NO];
[[NSRunLoop currentRunLoop] addTimer:scrollTimer forMode:NSRunLoopCommonModes];
11、延迟操作
//延迟1000000000纳秒 == 1秒
dispatch_time_t when = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC));
void (^task)() = ^ {
// 延迟操作执行的代码
[self showData];
NSLog(@"%@", [NSThread currentThread]);
};
// 经过多少纳秒,由主队列调度任务异步执行
dispatch_after(when, dispatch_get_main_queue(), task);
// 先执行就是异步,后执行就是同步
NSLog(@"come here");
12、推出视图同时隐藏控制栏
view.hidesBottomBarWhenPushed = yes;
13、退出第一响应
[textFiled resignFirstResponder];
14、关联:一个对象可以保持对另一个对象的引用,并获取那个对象
首先添加#import
通过objc_setAssociatedObject可以实现实例之间数据传输,更多还有通知,block,代理等多种方式
NSMutableArray *imageitems = [NSMutableArray arrayWithCapacity:0];
objc_setAssociatedObject(self, (__bridge const void *)@"LALALALALAL", imageitems, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
NSArray *imageItemsOther = objc_getAssociatedObject(self, (__bridge const void *)@"LALALALALAL");
15、pch文件使用
首先、先把pch上面的开关调为YES
其次、$(SRCROOT)/项目名称/pch文件名
16、证书的制作(环信推送)
首先环信项目注册
登录开发者中心,制作证书
{
先本地钥匙串导出
选取制作推送证书
连接钥匙串文件
下载下来双击
进入钥匙串管理里面
点击钥匙导出文件即可
}
登录环信管理后台,输入证书名字
项目里面设置推送证书名字
17、国际化
//国际化名字
#define LCName(key) NSLocalizedString(key, @"Localizable")
18、代码块地址
~/Library/Developer/Xcode/UserData/CodeSnippets
19、SVN使用
http://blog.csdn.net/kangli_1990/article/details/51444790
.a文件上传设置:
首先打开软件左上角 CornerStone-Preferences-SubVersion
第一个地方把对号去掉,第二个地方把.a那个删除,然后save。
然后把你的.a文件放到本地的相应文件夹下,
但是 CornerStone(我的是v2.7.10 版本的) 里相应文件夹下看不到带问号的.a文件的话,点击上边 View-Show Ignored Items
到这里就ok了,选中你的静态库 点击底部Add 问号会变成A,然后就可以提交了。
20、计算文字宽度、高度
CGSize titleSize = [_titleLabel.text sizeWithAttributes:@{NSFontAttributeName : _titleLabel.font}];
21、删除项目中所有.svn和.git文件
cd到该文件夹
//删除文件夹下的所有 .svn 文件
find . -name ".svn" | xargs rm -Rf
//删除文件夹下的所有 .git 文件
find . -name ".git" | xargs rm -Rf
22、自定义alertView
[[UIApplication sharedApplication].keyWindow addSubview:self.bigMaskBGView];
23、不同tabbar之间跳转
不同tabbar之间跳转,同事回到根视图并推出控制器
[self.tabBarController setSelectedIndex:2];
UINavigationController *nav = self.tabBarController.viewControllers[2];
[nav pushViewController:consultionCtl animated:YES];
[self.navigationController popToRootViewControllerAnimated:NO];