objective-C学习笔记(一)OBJC简介
如何掌握一门高级编程语言:(这里特指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
objective-C学习笔记(一)OBJC简介的更多相关文章
- C#.NET学习笔记1---C#.NET简介
C#.NET学习笔记1---C#.NET简介 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com -------------- ...
- Linux学习笔记-Linux系统简介
Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...
- 《C# 语言学习笔记》——C# 简介
1 什么是.NET Framework .NET Framework 是Microsoft为开发应用程序而创建的一个富有革命性的新平台. 1.1 .NET Framework 的内容 .NET Fra ...
- Window脚本学习笔记之BAT简介
本篇文章不是直接讲技术,而是对我自己学习这些年来的一番感触和简单的介绍,其间也穿插着一些基本的知识,若是学习技术者可跳过,亦不妨碍学习其他. BAT简介 BAT是Windows的批处理脚本,即以后缀“ ...
- JAVA NIO学习笔记1 - 架构简介
最近项目中遇到不少NIO相关知识,之前对这块接触得较少,算是我的一个盲区,打算花点时间学习,简单做一点个人学习总结. 简介 NIO(New IO)是JDK1.4以后推出的全新IO API,相比传统IO ...
- 【传智播客】Libevent学习笔记(一):简介和安装
目录 00. 目录 01. libevent简介 02. Libevent的好处 03. Libevent的安装和测试 04. Libevent成功案例 00. 目录 @ 01. libevent简介 ...
- java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式
Hadoop简介和安装及伪分布式 大数据概念 大数据概论 大数据(Big Data): 指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发 ...
- Objective -C学习笔记之字典
//字典:(关键字 值) // NSArray *array = [NSArray array];//空数组 // NSDictionary *dictionary = [NSDictionary d ...
- MongoDB学习笔记1(简介)
一.简介 1.丰富的数据类型 MongoDB是一种非关系型数据库,是面向文档的数据库. MongoDB没有模式,文档的键不会事先定义,也 ...
- NFC学习笔记2——Libnfc简介及安装
我一直希望自己的文章做一些记录的英文翻译.趁着学习NFC,现在,libnfc主页libnfc介绍和不同的操作系统libnfc文章做一些翻译安装.一方面,提高自己的英语,一方面有了解libnfc. 原文 ...
随机推荐
- Aix 文件名补齐及aix6.1 bash安装
Aix历史查询快捷键=>按ESC+k 设置KSH的自动补全(仅仅是文件名补全,没有命令补全)和历史命令功能 方法一: set -o vi 历史命令功能(esc -,esc +)自动补全文件名(e ...
- 适合入门自学服装裁剪滴书(更新ing)
[♣]适合入门自学服装裁剪滴书(更新ing) [♣]适合入门自学服装裁剪滴书(更新ing) 适合入门自学服装裁剪滴书(更新ing) 来自: 裁缝阿普(不为良匠,便为良医.) 2014-04-06 23 ...
- setObject与setValue的区别
在使用NSMutableDictionary的时候经常会使用setValue forKey与setObject forKey,他们经常是可以交互使用的,代码中经常每一种的使用都有.1.先看看setVa ...
- sqlserver 编辑、修改字段说明(备注) sp_addextendedproperty
语法 sp_addextendedproperty [ @name = ] { 'property_name' } [ , [ @value = ] { 'value' } [ , [ @leve ...
- web中使用扫描枪
扫描枪实际上就是一输入设备,只不过它每次在输入的内容后面添加一个回车.因此在web中可以使用js监听回车事件.处理代码如下: jQuery(function() { jQuery(doc ...
- sql2008中时间类型问题
DATEDIFF (DD ,@sdate ,getdate() ) eg30 计算从开始日期到今天的天数 datename(weekday,@sdate) eg星期三 查询那一天是星期几 SQL Se ...
- jQuery源码笔记——三
将类数组对象转化为数组对象 javascript中有许多类数组对象,比如HTMLCollection,NodeList,arguments.她们的特点是和数组一样有length属性,并且有0,1,2这 ...
- CentOS6.4中安装Python-Pip 以及Phyton gevent
一.安装Phyton-pip 首先要安装 Setuptools wget --no-check-certificate https://pypi.python.org/packages/2.6/s/s ...
- 关于FND_PROFILE与FND_GLOBLE[Z]
fnd_global package可以取得一些關於當前login in用戶的信息 fnd_concurrent_requests functions select FND_PROFILE.VAL ...
- Java SE基础部分——常用类库之Math和Random类(随机产生数值)
//20160518 Math类常用方法 练习 package MyPackage; public class MathDemo {//定义主类和main方法 public static void m ...