要编程肯定要从编程思想开始,发现一篇很好的教程,加上自己的理解,转发给大家!好好学习,天天向上。
1.1 类(Class)与 OOP
1.2 基本框架
1.3 基础知识
1.1 类(Class)与OOP
OOP (Object-Oriented programming )官方的解释是 面向对象程序设计。一个晦涩难懂的概念。所以我们先不要去理解他,就当是一个路的名字先记下来。而这条路是这个教程的第一站。
在我们的生活中,从小学开始,老师就会让我们先读课文,然后归纳一下中心思想。老师这么做的初衷是为了锻炼和培养我们的归纳和总结的能力。而“类”正需要的是归纳和中介,这里有个例子,还是以美女为例,美女就是一类人的总称,但美女其实不是一个实际存在的个体。我想很多人会困扰这句话 “美女其实不是一个实际存在的个体”,其实不需要太多的理清这里的逻辑和哲学关系。美女就是一类美丽的女性的总称,而这个总称就是类(Class), 在大多数书里对Class的解释都是 以车或者动物作为例子,说实话,我个人对车的具体课题不是很懂,对动物我就更不是很了解了。所以我这里就拿iphone做例子来讲解class.
iphone是苹果手机的总称,而iphong 2g ,iphone 3g, iphone 3gs, iphone 4就是这个iphone总称下的的具体实例。如果我们开个手机店,某日,有个完全不懂2g,3g,3gs的客户上门说“我要买iphone”,作为老板的你可能会反问“好的,你要买哪一种iphone,我们这里有2g,3g,3gs甚至4代”。就在这话中就产生了类与类的实际实例。而有点文化知识的顾客应该会马上反应过来,原来iphone还分很多种,而买iphone这句话本身是有问题的,但其实也带来了一点,“买iphone”这句话是没错的,“我想娶一个美女做老婆”也是没有错的。因为这是我们日常生活口语中已经习惯的说法,大家在内心都建立一种规则,你一说,其他人就能理解。而我们回到计算机编程中,他的规则就是类与类的具体实例要一定分的很清楚。如果你对电脑说,“你帮我找个美女出来”,这电脑就开始confusing(傻眼)了。
1.1.1 类
类到底是干什么的。如果有过程化编程经验的朋友,可能一时很难理解,但往往在理解class之后会大大的感慨一下,这东西很有用呀。的确是这样,类真的很好的是把我们现实社会的一些优秀理论引入了编程中。下面我们就开始具体的看看类。
“人”这个字就是一个类。
所以我用中文表达一下这个程序写法:
类 人
用英文就是
class human
而用OC(ObjectiveC以后在文中简称为OC)中我们把 类或者class替换成@interface, 你不要管他这什么意思(我稍后会解释),照抄就可以了:
@interface 人 (中式写法) 或者 @interface human (英文写法)
但大家也知道中式写法是电脑不能接受的,所以我这里的中式写法也是帮助大家理解,但真正写代码的时候,我们必须严格OC的要求去写。
让我们看一下具体找一个代码看一下
@interface human
{
int age;
string gender;
}
-(void) sleep;
@end
而中式写法就是
类 人
{
整型 年龄;
字符串 性别;
}
-(无返回) 睡觉功能;
结束
其实英语有点基础的人,看到英文代码就可以理解了,{ }里的东西就是类的固有特性,比如年龄,是人都有年龄,这是一个固有的特性,而 - 后的东西就是人的动作,而睡觉就是一个经常发生的动作,所以让我们分类加亮代码。
@interface human
{
int age;
string gender;
}
-(void) sleep;
@end
橙色就是定义一个定义类固有的格式,一般大家就是照抄了,但他意思就是定义一个类,也就是告诉计算机这段代码就是告诉你计算机,我正在设计一个类。
红色就是类的固有属性或者特性。这些属性可以变化也可以是固定的,比如按道理来说这性别是固定的,但我们现在的科技,男人变女人,女人变男人也是可能了。所以固定与否就要从实际程序出发。
粉色就是类的功能,也就是类能完成那些动作,我们在这里是要求是人要能睡觉。
是不是很贴近我们的生活呢?而有了“人”这个类,我们就可以在以后的任何程序和游戏中调用它,这样节省了时间,代码也可以重复使用,比如我们今天按老师要求要写一个人力资源管理的程序,定义了一个“人”的类,写的很详细,过了一个星期老师又让我们写成绩单程序,这又是一个基于“人”类的程序,而这时我们只要把上星期写的老的“人”这个类拿来用就可以说。所以如何写的详细和规范就很重要,这也是我们以后章节要讨论的重点。
1.2 基本OC框架
1.2.1 备注 comments
我认为这是写现代程序的基础,他是一个很微小的功能,但我却认为是团队协作的首要任务,做备注。
counter+=1 // counter变量可以自加1,counter是计数器变量
蓝色的部分就是 单行comments,comments就好比你在教科书上做注释,他可以帮助你写的代码,别人可以理解,但计算机在编译程序的时候不会去处理你备注的东西,也可以说这是给人看的,而不是给机器看的。
而comments有两种,第一种大家已经见过,第二种是多行备注
/*
这是一个多行的备注,
可以写多行,而不用把挤在一行上。
*/
而我觉得大家能够掌握这两种就够了。 当行就是以 //开头,没有结尾。行结束就结束了。
多行是以/*开头 */结尾。里面的内容都是备注。
1.2.2 main()
main()是一个程序开始执行的起点,有的书上说是程序的进入点,开始点。你觉得那种好理解,就选哪种方式去理解。
请看代码:(代码有错误,是为了解释调试而错的)
int main (int argc,contst char * argv[])
{
NSAutoreleasePool * pool=[[ NSAutoreleasePool alloc] init];
NSLong ("第一个OC程序,也叫Hello world!");
[pool drain];
return 0;
}
大家现在很可能看不懂代码,很正常,在这段程序里我们只要掌握红色部分的,橙色部分的代码就是固定格式,在以后我会详细讲解,但现在,只要ctrl+c 然后ctrl+v 就可以了。因为他是一个很固定的格式,几乎不需要变。
而红色的这个行
NSLong (@"第一个OC程序,也叫Hello world!");
就是我们学习的第一个句子,他的功能就是在屏幕上输出 第一个OC程序,也叫Hello world! 这行字。
让我们在windows中打开mac虚拟机,然后看图打开Terminal



现在我们开始第一步,建立自己的文件夹
一开始我们先学几个unxi的命令:
查看当前目录命令ls 也就是 dos下的dir命令
cd 命令,和dos一样就不介绍了
mkdir 就是制作一个新的文件夹在当面目录下
先用ls 查看一下当前目录,然后用mkdir建立一个新目录HW,然后用vi 建立一个 test.m的程序文件,什么也不写,保存一下就退出。

保存的步骤
先按 ESC 然后输入:w 最后回车就退出了
退出的步骤
先按 ESC 然后输入:q! 最后回车就退出了,这样就建立了 test.m的程序文件
然后我们打开finder,可以看澳在shuang 下 有个HW目录,然后在目录里有个test.m的文件。

这里我要提醒一下,vi这个命令其实就是打开一个编辑器,其实一般在unix编程用这个就可以搞定,其实做OC的程序也可以在vi下完成,但大多新手可能会不适应,而且可能连unix也不懂,所以我采用了下面的方法。但我想说的是OC的程序,其实不用xcode也已完成,请牢记这一点,这也是我花了这么多时间解释 unix命令和vi的原因。
双击test.m我们将通过xcode打开testm.m文件,很明显里面是空的
然后我们在windows中打开这个教程,复制代码网页上的代码,然后在 虚拟机里粘贴上去,当然vmware很强大,支持这样的复制和粘贴,给新手带来了强大的便利。
上篇开始,这篇继续 先准备好你的工具,pc or mac? 有mac是有钱人,我就没有mac 如果没有mac的同学,又习惯windows系统,那你们可以看看这篇文章 http://bbs.weiphone.com/read-htm-tid-853658.html,教你怎么在windows系统下成功虚拟出苹果的Snow Leopard系统10.4.6。 在你安装好了,这一切之后,你还要记得下载iphone SDK3.4。安装 最后来一张成功在虚拟机下运行的Snow Leopard 下SDK图!

最近开始给Apple写程序了,一直想要做但是一直未做的事情就是这样的。每当要写之前发现自己还缺少很多东西就放弃了。为什么现在又想写了呢?因为我想以后我的小力娃能够用上我写程序软件在他(她)同学面前去炫耀,“看,这是我老爸写的游戏(程序)”。其实是为了赚点奶粉钱。。
我也整理了很多资料,提供给大家。为想要学习编写iphone、ipad程序的同学们一点帮助,不管是新同学还是老同学。
这个是自己的爱好,还希望大家给我保密。。呵呵!公司要是知道我写程序赚外刀,估计要把我调到软件研发去。
体现准备一些资料:
1.http://developer.apple.com/这个网站要仔细研究,因为最新最全的iphone实例程序,代码规则都来自这里。
2.最好是有一台mac电脑,如果没有至少你应该有一台inter 双核或者i5以上配置的PC。因为Snow Loepard 只能装在inter的cpu上。
3.要下载一些必要的资源:
securable.exe下载这个程序检查一下你的pc能否支持Snow Leopard系统。要全是yes才行哦,如果出现No Hardware Virtualization 就需要你打开主办bios设置里面的Virtualization选项。
还有一些下载资源我会在后面一篇文章里提到。
好,让我们从今天开始吧!
一.中国最美的十大名山
1. 南迦巴瓦:云中的天堂 (西藏)(每年的2-4月和10-11月,选择登山的最好时机 )
2. 贡嘎:风停止了脚步 (四川)(10月下旬后下雪,可观看雪景 3月解冻)
3. 珠穆朗玛:心灵的守望 (西藏)(登山季节4月下旬—6月上旬,9月中旬-10上旬)
4. 梅里:雪神的仪仗队 (云南)(观赏雪山季节1-5月)
5. 黄山:上帝的盆景 (安徽)(3.16---11.16旺季,11.16—3.15淡季)
6. 稻城三神山: 香格里拉的地标(四川)(最佳季节:4-—6月、9—11月、7-8月为雨季)
7. 乔戈里:遥远的秘境 (新疆)(登山季节:7-9月)
8. 冈仁波齐:众神的居所 (西藏)(最佳季节5月—7月上旬,8月中旬到10月)
9. 泰山:华夏的图腾 (山东)(最佳季节:四季皆宜)
10. 娥眉山:从盆地升向天庭 (四川)(春秋两季为峨眉山最佳旅游季节)
二.中国最美的五大湖
1. 青海湖:陆心之海 (青海)(最佳季节:四季皆宜)
2. 喀纳斯湖:上帝的调色板 (新疆)(最佳季节:7—9月中旬)
3. 纳木错湖:与神耳语的地方 (西藏)(最佳季节:7—9月)
4. 天池:盛怒之后的平静 (吉林) (最佳季节:7-9月,其他季节极有可能处于茫茫白雪中)
5. 西湖 (杭州)(最佳季节:西湖一年四季风景各异,魅力独具)
三.中国最美的七大丹霞
1. 丹霞山:中国的红石公园 (广东)(最佳季节:四季皆宜)
2. 武夷山:碧水丹山甲东南 (福建)(最佳季节:夏季虽然气温偏高,却是万物生长最为茂盛)
3. 大金湖:水上丹霞奇观 (福建)(最佳季节:气温适中,四季皆可旅游)
4. 鹰潭龙虎山:炼丹之处红崖显 (江西)(最佳季节:四季都适合旅游)
5. 资江-八角寨—良山丹霞地貌:青峰赤壁丹霞魂 (广西 湖南)
6. 张掖丹霞地貌:宫殿式丹霞天地造(甘肃)(最佳季节:每年6—9月,是全年最佳旅游季节)
7. 赤水丹霞地貌:银瀑飞泻映丹崖(贵州)(最佳季节:四季皆宜)
四.中国最美的五大峰林
1. 桂林阳朔:山水相依的画廊 (广西)(最佳季节:4月份和10月份八月桂花开放前后)
2. 武陵源:失落深山的丹青 (湖南)(最佳季节:春秋两季,这是天气凉爽,很适合旅游)
3. 万峰林:高原上的心跳 (贵州)(最佳季节:七、八月去兴义游玩,大大小小瀑布因为有水才显得有气势,夏日漂流也比较惬意)
4. 三清山:西太平洋边缘最美丽的花岗岩 (江西)(最佳季节:秋季,这时候天气干爽)
5. 罗平峰林:金色的花园 (云南)(最佳季节:每年2月下旬—3月上旬,油菜花开的很旺季)
五.中国最美的十大峡谷
1. 雅鲁藏布大峡谷 (西藏)(最佳季节:每年8—10月才是进山黄金季节)
2. 金沙江虎跳峡 (云南)(最佳季节:春夏两季)
3. 长江三峡 (重庆 湖北)(最佳季节:三峡常年风景随四季变换而不同。四季都可旅游)
4. 怒江大峡谷 (西藏)(云南)(最佳季节:10月份到第二年四月份是旅游最好季节)
5. 澜沧江梅里大峡谷 (云南)(最佳季节:1—5月)
6. 太鲁阁大峡谷 (台湾)(最佳季节:四季皆宜)
7. 黄河晋陕大峡谷 (内蒙古 山西 陕西)(最佳季节:1—4月份,秋季9—11月份)
8. 大渡河金口大峡谷 (四川)(最佳季节:秋季秋高气爽是游览金口大峡谷的最佳季节)
9. 太行山大峡谷 (北京 河北 河南 山西)(最佳季节:春秋两季天高气爽,百花齐放,为旅游最佳季节)
10. 天山库车大峡谷 (新疆)(最佳季节:四季皆宜)
六.中国最美的三大雅丹
1. 乌尔禾:风爱坎坷不喜平 (新疆)(最佳季节:每年有4—8月)
2. 白龙堆:群龙聚首天涯 (新疆)(最佳季节:秋季)
3. 三垅沙:开进戈壁的舰队 (新疆)(最佳季节: 春秋两季)
七.中国最美的五大沙漠
1. 巴丹吉林沙漠腹地:上帝画下的曲线 (内蒙古)(最佳季节:每年9月下旬—10月下旬)
2. 塔克拉玛干沙漠腹地:大地的天体营 (新疆)(最佳季节:每月10月下旬—到11月中旬)
3. 古尔班通古特沙漠腹地:大漠的血脉 (新疆)(最佳季节:每年9—12月)
4. 鸣沙山.月牙泉:千年的守望 (甘肃)(最佳季节:每年5—9月)
5. 沙坡头:曳住流沙的脚步 (宁夏)(最佳季节:春秋两季)
八.中国最美的八大海岸
1. 亚龙湾:跌落在地上的天空 (海南三亚)(最佳季节:四季适合旅游)
2. 野柳:海浪留在大地上的作品 (台湾基隆)(最佳季节:10、11月)
3. 成山头:腹地对大海的渴望 (山东荣成)(最佳季节:每年4—10月)
4. 东寨港红树林:留在陆地上的碧浪 (海南琼山)(最佳季节:每年11月到第二年4月)
5. 昌黎黄金海岸:沙漠与大海的吻痕 (河北)(最佳季节:春秋两季)
6. 维多利亚海岸:万丈红尘映碧海 (香港)(最佳季节:每年的11、12月)
7. 崇武海岸:惠安女眺望大海的地方 (福建惠安)(最佳季节:四季皆宜)
8. 大鹏半岛:临近闹市的一块荒野 (广东深圳)(最佳季节:四季皆宜)
九.中国最美的六大瀑布
1. 藏布巴东瀑布群:大峡谷中的隐士 (西藏)(最佳季节:最好季节秋季)
2. 德天瀑布:跨国的风情 (广西)(最佳季节:每年6、7月)
3. 黄河壶口瀑布:万千气象一壶收 (晋陕交界)(最佳季节:每年的5月、9月)
4. 罗平九龙瀑布:红土地上的飘带 (云南)(最佳季节:每年的二月上旬到三月上旬)
5. 诺日朗瀑布:树丛中的织锦 (四川)(最佳季节:每年7、8月)
6. 贵州黄果树瀑布:不能复制的雄浑(贵州)(最佳季节:每年7,8月)

我是一个超级苹果迷+老乔的fans和Google的簇拥,一切新奇的事物我都好奇,摄影、运动、旅游、读书、电影、游戏都是我的爱好,荒淫大家给我留言,发邮件,请我吃饭、带我旅游(也不要忘记了我的领导同志!)……
最近留言