`

IOS开发经验总结(二) 转载

 
阅读更多

--http://www.apkbus.com/android-126158-1-1.html

 

IOS开发总结 by mhmwadm (感谢mhmwadm,虽然不知道是水) 
2013/4/10 
1 XCode快捷键 4 
2 Objective-C 4 
2.1 代码混编 4 
2.2 代码中字符串换行 5 
2.3 不要调用[super  release] 5 
2.4 判断一个字符串是否包含另一个字符串: 5 
2.5 没有用到类的成员变量的,都写成类方法 5 
2.6 category可以用来调试 5 
2.7 Category与Extension 6 
2.7.0 Categories Add Methods to Existing Classes 6 
2.7.1 Class Extensions Extend the Internal Implementation 7 
2.8 引用 7 
2.9 block 7 
2.10 property重命名 10 
2.11 重写description 10 
2.12 Archive and serialise 10 
2.13 Mutability Determines Whether a Represented Value Can Be Changed 11 
2.14 Use new to Create an Object If No Arguments Are Needed for Initialization 12 
2.15 Literals Offer a Concise Object-Creation Syntax 12 
2.16 property的属性 13 
2.17 Represent Other Values Using Instances of the NSValue Class 14 
2.18 Determining Equality of Objects 14 
2.19 Working with nil 15 
3 IOS 16 
3.1 设置圆角 16 
3.2 常用的有用方法 17 
3.3 图片拉伸后模糊的原因 17 
3.4 使用自定义字体 17 
3.5 后台运行 18 
3.6 让程序退出后台时继续运行10分钟 18 
3.7 关于UITableView 20 
3.7.0 任意设置Cell选中状态的背景色: 20 
3.7.1 取table中控件的位置 21 
3.7.2 flashScrollIndicators 21 
3.7.3 点击Cell中的按钮时,如何取所在的Cell: 21 
3.8 _cmd 22 
3.9 一个不停震动的方法: 22 
3.10 去掉app图标的发光效果 23 
3.11 UIImage:stretchableImageWithLeftCapWidth:topCapHeight: 23 
3.12 UIPopoverController 23 
3.13 UIColor colorWithRed:green:blue:alpha: 23 
3.14 禁止textField和textView的复制粘贴菜单: 24 
3.15 loadView 24 
3.16 GestureRecognizer相关 24 
3.17 如何进入软件在app store 的页面: 25 
3.18 someview显示一断时间后自动消失 25 
3.19 使提示窗口在任何界面都能显示: 26 
3.20 禁止程序运行时自动锁屏 26 
3.21 自定义UINavigationController的返回按钮 26 
3.22 改变UIAlertView背景 27 
3.23 浮动提示 28 
3.24 改变UITextField的背景 29 
3.25 CALayer高清显示 29 
3.26 CGLayer高清显示 29 
3.27 用于CALayer的动画 30 
3.28 取常用的地址 30 
3.29 所有可用的编码 30 
3.30 有时float值计算不准确,要用double 31 
3.31 UINavigationBar 31 
3.32 如果NSString是文件地址 31 
3.33 NSPredicate 31 
3.34 NSDictionary,NSMutableDictionary 32 
3.35 如何改变UINavigationBar的背景 32 
3.36 自IOS 6.0,为了控制旋转,要给UINavigationController写个category 33 
3.37 allSubviews, allApplicationViews, pathToView 35 
3.38 键盘是带按钮的pickerview 36 
3.39 +(void)showAlertWithTitle:(NSString *)title message:(id)formatstring,... 38 
3.40 修改UIAlertView 38 
3.41 给CALayer设置animation 39 
3.42 addSubview不支持Animation 40 
3.43 给keyboard增加删除按钮 41 
3.44 UITextField扩展 47 
3.44.0 删除前一输入的字符 47 
3.44.1 TextField只要有输入,马上清掉旧值 48 
3.45 CGContext常用方法 49 
3.46 设置线宽 50 
3.47 在CGContext中输出汉字 51 
3.48 可以现成用的比较好的类: 51 
3.49 简化代码用的define 51 
3.50 如何加大按钮的点击范围: 52 
3.51 setNavigationBarHidden先调用 52 
3.52 非常规退出 52 
3.53 有时iPhone或iPad检测设备旋转不准确 52 
3.54 如何重写isEqual 53 
3.55 添加到navigationController.view 中的视图要手动removeFromSuperview 53 
4 其它 53 
4.1 比较版本号 53 
4.2 如果确认软件升级了 54 
4.3 B/S传输文件,如果本来约定的数据结构变了: 54 
4.4 日期的使用 54 
4.5 关于更新 54 
4.6 时间相关 55 
4.7 用#if defined控制不同版本协议的使用 56 
4.8 设置字节对齐方式 56 

XCode快捷键

  1. Switches between the .m and .h files: ctrl+cmd+↑ 
  2. Ctrl-left/Ctrl-right to navigate words within a variable or method name 
  3. Jump to selection: shift+cmd+L 
  4. Edit All in Scope: ctrl + cmd + E 
  5. Re-Indent : ctrl + i 
  6. code fold: Alt + cmd + ← 
  7. code unfold: Alt + cmd + → 
  8. shift left : cmd +[ 
  9. shift right : cmd + ] 
  10. move line up:alt + cmd +[ 
  11. move line down : alt + cmd + ] 
  12. debug: 
  13. pause/continue:ctrl+cmd+Y 
  14. continue to current line:ctrl + cmd + C 
  15. Objective-C
复制代码

代码混编 
1)obj-c的编译器处理后缀为m的文件时,可以识别obj-c和c的代码,处理mm文件可以识别obj-c,c,c++代码,但cpp文件必须只能用c/c++代码,而且cpp文件include的头文件中,也不能出现obj-c的代码,因为cpp只是cpp 
2) 在mm文件中混用cpp直接使用即可,所以obj-c混cpp不是问题 
3)在cpp中混用obj-c其实就是使用obj-c编写的模块是我们想要的。 
如果模块以类实现,那么要按照cpp class的标准写类的定义,头文件中不能出现obj-c的东西,包括#import cocoa的。实现文件中,即类的实现代码中可以使用obj-c的东西,可以import,只是后缀是mm。 
如果模块以函数实现,那么头文件要按c的格式声明函数,实现文件中,c++函数内部可以用obj-c,但后缀还是mm或m。 

总结:只要cpp文件和cpp include的文件中不包含obj-c的东西就可以用了,cpp混用obj-c的关键是使用接口,而不能直接使用实现代码,实际上cpp混用的是obj-c编译后的o文件,这个东西其实是无差别的,所以可以用。而obj-c混用cpp就简单了,直接用就可以,因为obj-c的编译器支持啊 
代码中字符串换行

  1. NSString *string = @"ABCDEFGHIJKL" \ 
  2.          "MNOPQRSTUVsWXYZ";
复制代码

不要调用[super  release] 
在dealloc里要调用[super dealloc],千万不要调用[super  release] 
判断一个字符串是否包含另一个字符串: 
[str1 rangeOfString:str2].length != 0 ? @"包含" : @"不包含" 
没有用到类的成员变量的,都写成类方法 
category可以用来调试 
除了隐藏私有方法外,我主要用它截住函数。 
例1:测试时我想知道TableViewCell有没有释放,就可以这样写

  1. @implementation UITableViewCell(dealloc) 
  2. -(void)dealloc 
  3. { 
  4.    NSLog(@"%@",NSStringFromSelector(_cmd)); 
  5.     NSArray *array = allSubviews(self); // allSubviews是cookBook里的函数,可以取一个view的所有subView ,在这个文档后面也有 
  6.     NSLog(@"%@",array); 
  7.     [super dealloc]; 
  8. } 
  9. [url=home.php?mod=space&uid=10695]@END[/url]
复制代码

其它的类也可以这样写,你随便输出什么 
例2:我调试程序,觉得table的大小变了,想找到在哪改变的,这样做:

  1. @implementation UITableView(setframe) 
  2. -(void)setFrame:(CGRect)frame 
  3. { 
  4.    NSLog(%"%@",self); 
  5.     [super setFrame: frame]; 
  6. } 
  7. @end 
  8. Category与Extension 
  9. Categories Add Methods to Existing Classes 
  10. @interface ClassName (CategoryName) 
  11. @end
复制代码
分享到:
评论

相关推荐

    多年iOS开发经验总结

    ios开发常用到的API,适用于ios开发者,iOS开发经验总结

    iOS开发进阶-唐巧.pdf

    第一部分介绍iOS 开发的常用工具,第二部分介绍iOS开发中的一些常见的实践经验,第三部分介绍iOS 开发中涉及的原理。 如果把成为iOS 开发高手的过程比作武侠小说中的修炼过程的话,工具、实践和理论的学习就分别对应...

    两年的iOS开发经验项目总结

    一本自己总结的开发资料,很基础,希望给大家带来帮助

    ios开发技巧总结.docx

    ios开发 iOS开发涵盖了许多方面,以下是一些关键的开发技巧和最佳实践: 熟悉Swift或Objective-C:Swift是苹果推荐的iOS应用开发语言,它具有安全性、高性能和现代编程特性。虽然Objective-C仍可使用,但新项目...

    iOS 开发总结

    iOS 开发总结适合 iOS新手及老手参考

    iOS开发进阶-完整版

    唐巧的《iOS开发进阶》,希望对一些初级的程序员有用

    iOS开发视频教程

    资源名称:iOS开发视频教程资源目录:【】iOS开发视频教程-第01讲-iOS历史介绍【】iOS开发视频教程-第02讲-XCode安装【】iOS开发视频教程-第03讲-UIView_PPT【】iOS开发视频教程-第04讲-UILabel【】iOS开发视频教程-...

    《iOS开发零基础入门教程》(40集)

    资源名称:《iOS开发零基础入门教程》(40集)资源目录:【】传智播客《iOS开发零基础入门教程》1.1【】传智播客《iOS开发零基础入门教程》1.2【】传智播客《iOS开发零基础入门教程》1.3【】传智播客《iOS开发零基础...

    iOS 开发流程说明

    ios开发流程ios开发流程

    总结iOS开发代码实践总结iOS开发技巧共16页.pdf

    总结iOS开发代码实践总结iOS开发技巧共16页.pdf.zip

    精通iOS开发源码地址

    精通iOS开发源码下载地址,这个本书简直太棒了,是我买过的性价比最高的一本书。

    iOS开发进阶

    作者唐巧,本书定位于帮助那些iOS开发人员提高自己的开发水平

    总结最近ios开发心得

    总结最近ios开发心得,挺好,挺完善。。

    学习ios(必看经典)牛人40天精通iOS开发的学习方法

    这是一套从一个对iOS开发感兴趣的学员到iOS开发高手的系统、专业的课程体系。以培养企业开发真正需要的人才为目标,每个知识点都用案例来讲解。也适合想提升技能的已从事iOS开发的工作人员以最短时间内提升技能的...

    IOS官方开发手册

    IOS官方开发手册

    iOS开发之美光盘源代码

    iOS开发之美光盘源代码,由于视频太大,没有上传。

    iOS开发试题大全之二:笔试题600条

    iOS开发试题大全:笔试面试一千题,包含1000道iOS试题和参考答案,其中笔试题600条,面试题400条。 题型包含:判断题、单选题,多选题和面试题。这套资料共分为"语法","常识","界面","iOS","操作","数据结构","多...

    高仿微信,iOS应用开发模板.zip ios 开发模板

    高仿微信,iOS应用开发模板.zip ios 开发模板。高仿微信,iOS应用开发模板.zip ios 开发模板。高仿微信,iOS应用开发模板.zip ios 开发模板。高仿微信,iOS应用开发模板.zip ios 开发模板。高仿微信,iOS应用开发...

    iOS开发进阶篇-成为一个iOS开发高手

    iOS开发进阶篇-成为一个iOS开发高手(PDF)

Global site tag (gtag.js) - Google Analytics