`

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开发经验的总结中提到了几个关键技术点,包括对UILabel的文本属性设置、多线程操作、数据类型比较、日期时间计算等。 首先,关于UILabel的文本属性设置,通过使用NSMutableAttributedString类,可以对...

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

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

    iOS 开发总结

    这份"iOS开发总结"文档可能涵盖了从基础概念到高级技术的各种知识点,旨在帮助开发者提升技能和解决问题。 首先,iOS开发主要基于Apple的Swift编程语言,这是一种现代化、高性能的语言,具有安全性和易于读写的特点...

    iOS开发进阶-唐巧.pdf

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

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

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

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

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

    iOS开发进阶-完整版

    根据提供的信息,我们可以推断出这是一本关于iOS开发进阶的书籍,作者为唐巧。虽然提供的部分内容似乎并不是实际的章节内容,但从标题、描述和标签中,我们可以推测本书可能涵盖的一些关键知识点。 ### iOS开发进阶...

    精通IOS开发 第7版 归档文件

    《精通iOS开发 第7版》是一本深入探讨iOS应用程序开发的专业书籍,其归档文件包含了丰富的源代码和资源文件,旨在帮助开发者深入了解并熟练掌握iOS平台的开发技术。这一版本聚焦于最新的iOS版本,提供了全面的更新和...

    IOS开发指南(第5版) pdf下载地址

    《iOS开发指南(第5版)》是一本深入探讨iOS应用程序开发的专业书籍,旨在帮助开发者从零基础到熟练掌握Apple的移动操作系统上的应用构建过程。该书第五版更新了最新的开发技术和工具,确保读者能够使用最新的Xcode和...

    iOS开发视频教程

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

    ios开发--Objective-C 基础总结-(重点已标识)

    Objective-C 是 iOS 开发的基础,本篇文章主要对 Objective-C 的基础知识进行了总结,特别标注了重点内容,适合初学者快速入门并转向 iOS 平台开发。 首先,我们要理解面向对象编程的基本概念。在 Objective-C 中,...

    IOS官方开发手册

    《iOS官方开发手册》是苹果公司为iOS应用开发者提供的权威指南,它涵盖了从入门到精通的所有关键知识点。作为iOS开发的基石,这份手册是每个开发者不可或缺的参考资料。下面,我们将详细探讨其中的主要内容。 首先...

    IOS开发

    iOS 开发概述 iOS 开发是指使用 Objective-C 语言在 Mac 系统上使用 Xcode 开发工具进行移动应用程序开发的过程。下面将从环境需求、环境搭建、开发语言三个方面对 iOS 开发进行详细介绍。 一、环境需求 iOS 开发...

    精通iOS开发源码地址

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

    iOS开发进阶

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

    IOS开发环境搭建和简单实例

    在进行iOS开发之前,开发环境的搭建是开发者必须经历的初始步骤。本文将详细介绍如何搭建iOS开发环境,并提供一些简单的开发实例来帮助初学者快速入门。 ### iOS开发环境搭建 #### 注册Apple ID 为了下载开发所需...

    iOS 开发范例实战宝典(进阶篇)

    在iOS开发领域,实战经验是提升技能的关键。"iOS开发范例实战宝典(进阶篇)"聚焦于实际应用中的各种技术,旨在帮助开发者掌握更高级的iOS开发技巧。这本书深入探讨了图形图像处理、数据可视化、网络交互、媒体播放...

    最好的ios开发书籍

    本文将深入探讨一本被誉为“最好的iOS开发书籍”的资源——《最好的iOS 5开发新手教程(第二版)副本》。这本书以其易懂性和实用性,成为了许多初学者入门iOS开发的首选。 首先,iOS开发基于Apple的Swift编程语言,...

Global site tag (gtag.js) - Google Analytics