转自:http://blog.csdn.net/dongfengsun/article/details/4870650

前言:iPhone是个极具艺术性的平台,相信大家在开发过程中一定有很多感触,希望能写出来一起交流,所以开了这个帖子,以后还会维护。

如果大家和我一样有感触的话,可以跟在帖子下面,最好简短并附上中英文:)

1:如果无法保证子类行为的一致性,那么就用委托

If the subClass cann't keep with superClass,use delegate rather than inheritance.

2:屏幕上看到的,都是UIVew

Everything you see on Screen is UIView.

3:如果对性能要求高,慎用Interface Build

if application's performance is important,be discreet for the interface build.

4:copy是创建,retain是引用

the copy operation is create a new one,but the retain operation is just a reference.

5:alloc需要release,convenient不需要release

alloc method need corresponding release method,but convenient method not.

6:加载到NSArray/NSMutableArray里的对象,不需要负责release

The objects added to NSArray/NSMutableArray need not to be released.

7:IBOutlet,IBAction为你开启了访问Interface Build中对象的大门

IBOutlet and IBAction open the door to access the objects in Interface build.

8:UIApplicationDelegate负责应用程序的生命周期,而UIViewController负责View的生命周期

UIApplicationDelegate is responsible for the application life cycle,but UIViewController for the UIView.

9:为了程序的健壮性,请尽量实现Delegate的生命周期函数

if you want to develop a robust application,implement the life cycle methods as more as possbile.

10:哥触摸的不是UIEvent,而是NSSet的UIView

what you touch on screen is not UIEvent but UIView

一些开源项目:

扫描wifi信息:

http://code.google.com/p/uwecaugmentedrealityproject/

http://code.google.com/p/iphone-wireless/

条形码扫描:

http://zbar.sourceforge.net/iphone/sdkdoc/install.html

tcp/ip的通讯协议:

http://code.google.com/p/cocoaasyncsocket/

voip/sip:

http://code.google.com/p/siphon/

http://code.google.com/p/asterisk-voicemail-for-iphone/

http://code.google.com/p/voiphone/

three20

https://github.com/facebook/three20

google gdata

http://code.google.com/p/gdata-objectivec-client/

720全景显示panoramagl

http://code.google.com/p/panoramagl/

jabber client

http://code.google.com/p/ichabber/

PLBlocks

http://code.google.com/p/plblocks/

image processing

http://code.google.com/p/simple-iphone-image-processing/

json编码解码:http://code.google.com/p/json-framework

base64编码解码:http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/?r=87

xml解析:https://github.com/schwa/TouchXML

安全保存用户密码到keychain中:https://github.com/ldandersen/scifihifi-iphone

加载等待特效框架(private api):https://github.com/jdg/MBProgressHUD

http等相关协议封装:http://allseeing-i.com/ASIHTTPRequest

下拉刷新代码:https://github.com/enormego/EGOTableViewPullRefresh

异步加载图片并缓存代码:http://www.markj.net/iphone-asynchronous-table-image/

iphone TTS:https://bitbucket.org/sfoster/iphone-tts

iphone cook book 源码:https://github.com/erica/iphone-3.0-cookbook-

iphone正则表达式:http://regexkit.sourceforge.net/RegexKitLite/

OAuth认证:http://code.google.com/p/oauth/
http://code.google.com/p/oauthconsumer/

蓝牙协议栈:http://code.google.com/p/btstack/

语音识别:http://www.politepix.com/openears/

ShareKit:http://www.getsharekit.com/install/

日历控件:http://code.google.com/p/iphonecal/

https://github.com/klazuka/Kal

zlib, openssl:http://code.google.com/p/ios-static-libraries/

地球显示信息:http://code.google.com/p/whirlyglobe/

has been modified since the precompiled header was built
错误

(原因:预编译头的时候文件被修改);
解决方法:1.Select Product > Clean from the Xcode menu

快捷键shift+command+k;clean一下

--------------------------------------------------------

字符串拼接

NSString* string; // 结果字符串NSString* string1, string2; //已存在的字符串,需要将string1和string2连接起来//方法1.
string = [NSString initWithFormat:@"%@,%@", string1, string2 ];//方法2.
string = [string1 stringByAppendingString:string2];//方法3 .string = [string stringByAppendingFormat:@"%@,%@",string1, string2];
经常用的是第二种方法。

iPhone开发知识和项目相关推荐

  1. Iphone开发(一)基础知识

    holydancer原创,如需转载,请在显要位置注明: 转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details ...

  2. 项目开发知识盲区整理2

    项目开发知识盲区整理2 SpringBoot运行Test时报错:SpringBoot Unable to find a @SpringBootConfiguration mp代码生成模板--mybai ...

  3. 《iPhone开发秘籍》带你深入iPhone开发秘境

    < iPhone 开发秘籍> 很少有平台能够与 iPhone 独特的开发技术相提并论. iPhone 将基于 OS X 的移动计算与创新的多点触摸屏幕.位置感知.机载加速计等结合在一起.苹 ...

  4. 如何使用Windows开发机为iPhone开发?

    有什么办法可以在Windows计算机上修补iPhone SDK? 是否有针对Windows的iPhone SDK版本的计划? 我可以想到的唯一另一种方法是在Windows上运行的VMWare服务器上运 ...

  5. 关于IOS开发知识的总结

    IOS开发特别备注: IOS 7 UI适配方法 http://blog.sina.com.cn/s/blog_6fd90b5b0101cy50.html http://forum.bee-framew ...

  6. 图解iPhone开发新手教程

    如今的智能手机越来越风行了,当中尤以Apple的iPhone和Google的Android系统最为流行,这里我将向大家介绍iPhone开发的基础知识.为了便于刚開始学习的人尽快上手,我尽量以代码加截图 ...

  7. iphone开发我的新浪微博客户端-用户登录准备篇(1.1)

    首先说一下我这个的实现思路,登录支持多个账号,也就是说可以保存多个微博账号登录的时候选择其中一个登录.多个账号信息保存在sqlite的数据库中, 每一个账号信息就是一条记录, 当用户启动微博客户端的时 ...

  8. iPad开发(相对于iPhone开发时专有的API)

    iPad开发 一.iPad开发简介 1.什么是iPad 一款苹果公司于2010年发布的平板电脑 定价介于苹果的智能手机iPhone和笔记本电脑产品之间 跟iPhone一样,搭载的是iOS操作系统 2. ...

  9. fullcalendar next 不变化_让不懂编程的人爱上iPhone开发(2017秋iOS11+Swift4+Xcode9版)-第3篇...

    休息好了吗?欢迎回来继续我们的iPhone开发学习之旅. 应用的工作原理 在继续学习之前,让我们来了解一下一个应用究竟是如何工作的? 一个应用通常是由对象组成的,而这些对象之间可以相互发送消息.在我们 ...

最新文章

  1. 行人姿态估计--Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
  2. 公众号留言-2020-4-3
  3. HTML5 Canvas Text实例1
  4. github使用-知乎的某小姐的一篇文章
  5. 架构分享--微博架构
  6. FCN用卷积层代替FC层原因(转)
  7. 基础面试题——HTML/CSS
  8. 关于ibatis.net框架(NPetshop学习)
  9. 【翻译】WPF应用程序模块化开发快速入门(使用Prism+MEF)【中】
  10. Ubuntu 搭建 NVIDIA驱动 CUDA 和 pytorch GPU 环境
  11. linux maven 添加项目,Eclipse中Maven项目添加jar包
  12. 随身WiFi刷OPENWRT作为旁路由
  13. 《鸟哥的Linux私房菜》简评
  14. Abaqus齿轮有限元分析
  15. 【WIN】【C++】遍历文件夹下所有文件
  16. 服务器位置异常饿了么,饿了么定位失败怎么办 饿了么无法定位解决办法
  17. Android自己动手打造XML解析框架
  18. 数据共享,如何拆掉那些“部门的墙”?by 傅一平
  19. hotmail手机端_hotmail邮箱官方版|hotmail邮箱手机版下载_v7.8.2_9ht安卓下载
  20. 计算机睡眠无法锁屏是怎么设置密码,教你电脑待机锁屏怎么设置

热门文章

  1. debian 安装_如何在 Debian/Ubuntu 系统中检查程序包是否安装?
  2. ios simulator android,How to open IOS Simulator in Android Studio for Flutter application
  3. 转换onnx_模型转换工具X2Paddle操作大全
  4. mysql groupby php_php – MySQL,GroupBy OrderBy
  5. Oracle基础入门完整版(课程笔记)
  6. Python-web框架 fastapi
  7. java io面试题_【Java面试】Java常见IO面试题!
  8. ❤️作为测试行业的过来人,宝贵的经验分享给刚入行的你
  9. python构建huffman树_python:哈夫曼树,PythonHuffuman
  10. 基于EfficientNet网络的植物叶部病害分类