ios开发注意事项小总结】的更多相关文章

一.LaunchScreen LaunchScreen产生原因:代替之前的启动图片 好处: 1.可以展示更多的东西 2.可以只需要出一个尺寸的图片. 启动图片的优先级 启动图片 < LaunchScreen.xib 模拟器尺寸不对 程序中碰见模拟器尺寸不对,马上去找启动图片,默认模拟器的尺寸由启动图片决定. 二.程序启动原理 1.创建UIApplication对象 2.创建AppDelegate对象,并且成为UIApplication对象代理属性 3.开启主允许循环:目的让程序一直跑起来 4.加…
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewalloc] initWithFrame:CGRectMake(0, 0, 0, 0.1)]; self.tableView.tableHeaderView = view; UITableView的plain样式下,取消区头停滞效果 - (void)scrollViewDidScroll:(UIScro…
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的调试,有同性也有个性.今天我们就来学习一下iOS开发中的调试技巧,语言暂用为OC,IDE当然是强大的Xcode.首先说明下,Xcode已经为我们调试项目提供了极大的方便. [1.普通断点] 断点(Breakpoint)绝对是调试程序的第一大选择,也是掌握的基础技能.顾名思义,当程序运行到断点处时会暂…
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的调试,有同性也有个性.今天我们就来学习一下iOS开发中的调试技巧,语言暂用为OC,IDE当然是强大的Xcode.首先说明下,Xcode已经为我们调试项目提供了极大的方便. [1.普通断点] 断点(Breakpoint)绝对是调试程序的第一大选择,也是掌握的基础技能.顾名思义,当程序运行到断点处时会暂…
1.打包后提交报错误 错误信息:ERROR ITMS-90035: "Invalid Signature. Code object is not signed at all. The binary at path [******.app/build-libidn.sh] 解决方案:在Archive 界面上 选择刚生成的那个app 右键 Show in Finder  显示包含内容->Products->Application->应用 右键显示包含内容,找到文件 build-li…
UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0.1)]; self.tableView.tableHeaderView = view; UITableView的plain样式下,取消区头停滞效果 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat sect…
NSLog其实是一个非常损耗性能的东西,当你在开发了很长时间的一个项目中,想必为了方便调试,里面会有很多的NSLog输出,为了优化性能,同时又方便调试,可以在pch中定义一个宏,既可以替换原有的NSLog ,让其再DEBUG模式下输出,又可以额外输出一些其他的相关信息. 定义pch文件,将下面代码拷贝,即可. // 保证 #ifdef 中的宏定义只会在 OC 的代码中被引用 // 否则,一旦引入 C/C++ 的代码或者框架,就会出错! #ifdef __OBJC__ #ifdef DEBUG #…
iOS多张图片合成一张 本文来源于http://www.cnblogs.com/yang-guang-girl/p/5197099.html,感谢博主 代码 #import "RootViewController.h" @interface RootViewController () @end @implementation RootViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundl…
/* 补充: 让模拟器锁屏: command + l */ 让模拟器变大变小 打开Xcode模拟器,选择Window->Scale->…
1.OC的消息机制与C++等的函数(方法)有很大的不同,OC在运行时所执行的代码由运行环境来决定,而C++等则由编译器决定.如果调用的函数是多态的,C++在运行时要按照虚方法表来查出到底执行哪个函数,而OC不论是否多态,总是要在运行时才会查找所要执行的方法. 2.除非确实必要,OC的类的.h文件里面不要引入头文件,一般使用前置声明来代替,并在.m文件中引入头文件,这样做可以尽量降低类之间的耦合. 有时无法使用前置声明,例如要声明某个类遵守一个协议,这时尽量吧协议的声明放在分类中.实在不行的话,就…