如何掌握一门高级编程语言:(这里特指Objective-C)

底层思维:   向下,如何从机器底层的角度来思考程序运行的过程。

关注语言构造、编译转换、内存模型、运行时机制

抽象思维:   向上,当软件复杂度高的时候,需要把式样来抽象为代码程序。

关注面向对象、组件封装、设计模式、架构模式

"时空人"三位一体分析法:

时间:complie-time VS run-time  区分编译时间和运行时间的时间节点划分

空间:stack(栈)VS heap(堆)要区分栈和堆,因为决定了程序的生存周期

人物:programmer VS compiler/runtime/framework 区分哪些代码是自己写的,哪些是编译器/运行时/框架写的。

两种开发方式:

编译器(Clang或GCC)命令行

clang-fobjc-arc HelloWorld.m

Xcode项目

以项目为单位来开发

  必看文档:

Programming with Objective-C:

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/

iOS专区:

https://developer.apple.com/library/ios/navigation/

苹果开发者大会WWDC

  练习:

1.用Clang编译打印出HelloWorld

*1 写HelloWorld.m

*2 在终端上进入文件所在的文件夹,输入clang -fobjc-arc HelloWorld.m -o Hello

*3 编译后生成Hello文件,用./Hello来执行

2.用XCode编译打印出HelloWorld

最新文章

  1. 博客 博客vno主题(我正在用的这个博客主题)
  2. git小结
  3. Hibernate核心思想—ORM机制(一)
  4. CCF真题之画图
  5. IE6 7 8BUG锦集
  6. MEF简单示例
  7. VMware vSphere HyperVisor安装过程记录
  8. GZIP压缩、解压缩工具类
  9. fgets()函数以及fputs()函数
  10. Java注解学习
  11. Shell脚本笔记(一)一些零碎的基础知识
  12. Linux下搭建DNS缓存服务器
  13. Mac下Vim编辑快捷键小结(移动光标)
  14. 【转】在SQL Server中创建用户角色及授权(使用SQL语句)
  15. const的详解
  16. 微服务:如何优雅的使用Mybatis
  17. 7处ff与ie中读写html、css相关属性的不同之处
  18. windows下resin的配置部署与调试
  19. Python项目输出小类概率,机器学习
  20. Hadoop学习(一)

热门文章

  1. opennebula extend(expending) auth module ldap
  2. Recover a file when you use git reset head by mistake.
  3. ByteBuffer用法总结
  4. paip.QQ音乐导出歌单总结
  5. python写xml文件
  6. NET 人民币大写
  7. html系列教程--DOCTYPE a area
  8. WindowsService服务的C#实现
  9. Js 自定义回调函数
  10. Android padding和margin的区别