objective-c 学习第一节 HelloWorld
来源:互联网 发布:网络调研的方法有哪些 编辑:程序博客网 时间:2024/05/16 10:05
年初的时候懵懵懂懂就产生了要发展IOS开发的想法,到了年尾,各种机缘巧合之下,终于开始了这段奇妙的旅程。OC与Swift的要的选择也确实让我犹豫了挺久,Swift作为新生的苹果亲儿子,简洁有好上手等一些特性非常吸引。但最大的问题也是出现在这里“新生”,意味着我这个IOS开发新手没有更多的资源去短时间决解问题,包裹自己公司里的大神和百度,另外一个很重要的原因就是我必须要看懂同事写的源码并参与进去。而绝大部分他们开发都是OC语言。所以OC就成我迈向IOS开发的第一个敲门砖。另外,我始终相信一段好的旅程永远也不嫌晚.祝我好运!
在开始学习之前,特意去百度了好些资料,感觉可能需要了解过其他的2门语言会更好,一个是C,另一个就是面向对象的语言了比如非常纯正的JAVA.我个人的见解是如果有学习过java,清楚面向对象的概念和高级一点的面向接口的编程。那么相对来说还是会好消化一点。开发工具是Xcode.这个就是苹果已经为我们准备好了的了。在开发Android的时候我是喜欢Eclipse,放到固态里面其实也没大家吐槽的那么慢,至于AndroidStudio,我也用过1.4的正式版,写过小东西。非常强大,特别是界面XML这块。但其他体验就一般般了。bug的什么的还是会有的,希望以后慢慢变的更好吧,AndroidStudio已经是一个不可逆的趋势了。
好吧 ,第一个程序永远要从HelloWorld 开始,Xcode什么的下载安装什么的比Android容易多了 这里就不多介绍了,app Store下载就行。
新建一个 项目
跟Android 倒是差不多,第一个就是项目名称了。然后第二个就是组织者名称了,这个是公司就写公司,是个人就随意。第三个说是组织者的唯一标识,在我理解就是跟包名差不多。所以还是挺重要的。最后就是语言选项,用OC。其他的语言还有Swift,C和C++.讲道理Xocde还是挺强大的。Eclipse也可以开发就是要装插件。远没这个方便。
好了 新建完工程之后,就到了如下界面
主动生产一个Main.m文件
** OC的源文件拓展名为.m
** 编译器会将.m文件编译为.o目标文件 所以main.m编译成功之后会变成main.o目标文件
额,截的图好像不太清楚,还是来直接看代码吧
//// main.m// HelloWorld//// Created by cd on 15/11/4.// Copyright © 2015年 cd. All rights reserved.//#import "Foundation/Foundation.h"#import "Person.h"#import "Car.h"#import "Lamborghini.h"#import "Alto.h"int main(int argc, const char * argv[]) { //创建一个自动释放池 @autoreleasepool { // insert code here... //@""表示是一个字符串,这是oc语言的一个特点。 //NS开头是oc的命名习惯,一开始真的有点不习惯。。 //这里的字符串和java有很大的不同,oc的字符串是个对象类型,有指针(不是基本类型) NSString *str =@"cd"; //@%表示打印一个字符串对象 NSLog(@"Hello, World! %@",str); Person *person =[[Person alloc] init]; // [person setName: @"CD"]; person.name =@"Mr.CD";// [person setAge:22]; [person shopping:5000]; person.age =24; // NSString *person_name =[person name]; NSString *person_name =person.name; NSLog(@" get name is a %@",person_name); NSInteger person_age =person.age;// NSInteger person_age =[person age]; NSLog(@"GET age is a %ld",person_age); Car *car1 =[[Lamborghini alloc]init]; Car *car2=[[Alto alloc]init]; [person drive: car1]; [person drive:car2]; } return 0; }
嗯,没错。一进来就是一个Main方法。
#import关键字是导入头文件的。和java的import小效果差不多吧。但是由于开源和闭源的缘故。java能点击打开能看到源码。而这个只能看到定义好的头文件定义。这个就仁者见仁,智者见智了。我是觉得吧开源出来的东西确实有很好的一面。
Foundation.h是系统提供给我们的一个最基本的开发库,我们可以根据里面的定义一个一个来学习。
接着看代码。这里有个很重要的概念就是自动释放池,也不太过多介绍了我也不是很懂。百度了下这是OC的一大特色。相比较我知道的java中的GC,这个复杂程度我觉得要高一点,因为应该以后可能要做到手动管理这个。而java中都是自动的,像一个公司专门请的清洁工,你的工作岗位有垃圾了,它可能等下就过来清一下。但可能每次都没那么及时。创建一个工程的时候,自动释放池是自动创建的,把代码写到这块里面就可以了。我以后学的差不多了再专门讲下这块!!
//@""表示是一个字符串,这是oc语言的一个特点。 //NS开头是oc的命名习惯,一开始真的有点不习惯。。 //这里的字符串和java有很大的不同,oc的字符串是个对象类型,有指针(不是基本类型) NSString *str =@"cd"; //@%表示打印一个字符串对象 NSLog(@"Hello, World! %@",str);
嗯,又有一个比较新奇的地方就是 OC中的字符串不是个基本类型,它拥有指针,是个对象类型。去定义字符串对象的时候要加@。使用NSLog打印对象,用格式化输出,占位符是%@。打印字符串的对象的时候,输出的是字符串的值。这个和java中的System.out.println输出结果是一样的。说白了就是调用对象的toString方法吧。当然OC也是会调用一个方法的。
其他的基本类型都差不多,比如 布尔类型 ,整形等都差不多 。就不多做介绍了。
好了 ,到这里一个HelloWorld就差不多了。
总结了下,OC基本的定义方法。字符串对象和打印信息方法 。
最后点击左上角的 运行 按钮
好了.可以看到运行结果了。多点点Xode左右上角的几个按钮,你就知道怎么用了。
- objective-c 学习第一节 HelloWorld
- objective -c 第一节
- Objective C的学习之HelloWorld
- Objective-C学习笔记(二)-HelloWorld
- Objective-C 学习笔记:从HelloWorld开始
- Objective-C HelloWorld
- Objective-c学习笔记—— Ubuntu 环境搭建 + HelloWorld
- Objective-C初探-Objective-C HelloWorld
- 第一节:环境搭建之objective-c
- 7.1 第二块,第一节 objective-c
- Cocos-x-----第一节----HelloWorld
- 【Objective-C】objective-c的环境和helloworld
- Objective-C 第一个程序HelloWorld
- objective-c HelloWorld实践 (gcc编译器)
- xcode的Objective-C之helloworld
- 【黑马程序员】Objective-C语言学习笔记之HelloWorld(一)
- 跟我一起学习C 第一节
- 第一节:springmvc的helloworld实例
- MIL采集和实时显示
- matlab使用小波变换进行图像融合
- HTML TBLE表格重复内容列合并javascript方法
- HTML5 Web app开发工具Kendo UI Web教程:创建自定义组件(三)
- 自定义Collection View布局
- objective-c 学习第一节 HelloWorld
- ubuntu修改主机名
- Mybatis使用时Propertyplaceholderconfigurer导出配置数据无法读入
- Nginx配置thinkPHP 支持phpinfo和rewrite
- ASP.NET MVC 4 中的JSON数据交互
- linux select poll epoll的区别
- 自定义信号槽
- To connect to XXX, use ‘--no-check-certificate’.
- 【Java】利用String的compareTo比较两个时期字符串