Objective-C 笔记一(HelloWorld)
作为一个果粉And程序员,奔着对OC浓厚的兴趣,开始学习IOS。并以后也想从事IOS开发工作。并将自己的学习记录下来,俗话说的好,不会总结的程序猿,不是好程序员!
Xcode可以在AppStore里下载
打开Xcode 选择箭头所指:

这里我们先选择 OS X 的Application 的Command Line Tool(控制台程序):

点击Next:
这里我们输入项目名称等一些信息,随便写也可以:

点Next
然后会让你选择存储项目的文件夹,这里我选的桌面,然后点Create:

Ok,虽然还没做什么,但HelloWorld就搞定了。
用快捷键command+R就可以运行了

| 扩展名 | 含义 | 扩展名 | 含义 |
| .c | C语言原文件 | .mm | Objective-C++源文件 |
| .cc、.cpp | C++语言原文件 | .pl | Perl源文件 |
| .h | 头文件 | .o | Object(编译后的)文件 |
| .m | Objective-C源文件 |
#import <Foundation/Foundation.h>
这是一个系统文件,也就是说,这个文件不是你创建的。#import 表示将该文件的信息导入或包含到程序中,就像在这里输入该文件的内容。要导入文件Foundation.h,因为它包含其他类和函数有关信息。
int main (int argc,const char * argv[])
main是一个特殊名称,用于准确地表示程序将在何处开始执行(应该和Java的main方法一样)。main之前的保留字int指定main返回的值类型为整型。
@autoreleasepool{}
花括号里的程序语句会在被称为“自动释放池(autoreleasepool)”的语境中执行。自动释放池的机制是:它使得应用在创建新对象时,系统能够有效的管理应用所使用的内存。
NSLog是一个函数,它仅仅显示或记录其参数(或者参数列表)。但是之前它会显示该函数的执行日期和时间、程序名,以及其他...
return 0;它表示要终止main的执行并发送回(或返回)一个状态值0,按照约定,0意味着程序的正常结束。任何非零值通常表示出现了一些问题。
下面是以下实例:创建一个类取名Fraction
#import <Foundation/Foundation.h> @interface Fraction : NSObject -(void) print;
-(void) setNumerator :(int) n;
-(void) setDenominator:(int) d;
-(int) numberator;
-(int) denominator; @end
#import "Fraction.h" @implementation Fraction
{
int numberator;
int denominator;
}
-(void) print{
NSLog(@"%i/%i",numberator,denominator);
}
-(void) setNumerator:(int)n{
numberator = n;
}
-(void) setDenominator:(int)d{
denominator = d;
}
-(int) numberator
{
return numberator;
}
-(int) denominator
{
return denominator;
}
@end
//----program 部分----
#import <Foundation/Foundation.h>
int main (int argc,const char * argv[])
{
@autoreleasepool {
//创建一个分数实例 alloc分配空间 init初始化
myFraction = [[Fraction alloc] init];
//myFraction = [myFraction init]; //Fraction *fact = [[Fraction alloc] init]; //设置分数为1/3
[myFraction setNumerator:];
[myFraction setDenominator:]; // [fact setDenominator:3];
// [fact setNumerator:7]; //使用打印方法显示分数
NSLog(@"The value of myFraction is: %i/%i",[myFraction numberator],[myFraction denominator]);
//[myFraction print];
//
// NSLog(@"Second fraction is:");
// [fact print];
}
return ;
}
以后会介绍%i(类似C#的占位符),是NSLog字符,用来取int值。
代码是我练习写的,涉及了下一章节的类、对象和方法,因为有java和C#的基础,OC这些学起来都差不多,就是语法不一样。总之很喜欢OC!
Objective-C 笔记一(HelloWorld)的更多相关文章
- Spring MVC 学习笔记一 HelloWorld
Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...
- MOOS学习笔记2——HelloWorld回调
MOOS学习笔记2--HelloWorld回调 例程 #include "MOOS/libMOOS/Comms/MOOSAsyncCommClient.h" bool OnConn ...
- MOOS学习笔记1——HelloWorld
MOOS学习笔记1--HelloWorld 例程 /* * @功能:通讯客户端的最简单程序,向MOOSDB发送名为"Greeting" * 数据"Hello", ...
- U3D学习笔记1: HelloWorld
Unity 版本: 5.3.5.f1 Hello World工程 1.新建工程 HelloWorld U3D可选2D和3D游戏 2.新建C#脚本文件 在project栏的assets目录右键-&g ...
- Objective C笔记(第一天)
• OC语言概述 1.早在20世纪80年代早期,Bard Cox发明了Objective C, 是扩充的C,面向对象的编程语言. 2.NEXTSTEP简称NS a.1985年,Steve Jobs成⽴ ...
- cocos2d-x 2.1.4学习笔记之HelloWorld分析
下面截图是HelloWorld项目下的文件夹结构 这是用python命令生成的项目,在创建过程中默认生成多个平台的程序文件. 1.“resource”文件夹 该文件夹主要用于存放游戏中需要的图片.音频 ...
- springboot笔记之helloworld
开发工具:IDEA 2019 springboot版本:2.1.9 一.springboot2.x VS 1.x 基础环境升级 最低 JDK 8,支持 JDK 9,不再支持 Java 6 和 7 依赖 ...
- C++学习笔记(HelloWorld,类型和值)
现在有一个从控制台读取输入的小程序: #include "../std_lib_facilities.h" int main() { cout << "Ple ...
- Spring MVC 笔记2 HelloWorld
实现这个例子的问题 WEB-INFO目录下必须有spring的包,放在lib下:如下图(这里我直接把idea创建时宣称springmvc,然后把idea给的lib拷贝了下来,也可以的) request ...
- Activiti学习笔记2 — HelloWorld
一. Maven的POM配置文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="htt ...
随机推荐
- Serilog with Autofac
http://serilog.net/ ---不错的日志工具 1.直接绑定 builder.Register<ILogger>((c, p) => { return new Log ...
- Python实现ID3算法
自己用Python写的数据挖掘中的ID3算法,现在觉得Python是实现算法的最好工具: 先贴出ID3算法的介绍地址http://wenku.baidu.com/view/cddddaed0975f4 ...
- 让乔布斯立足肩上的C语言之父
2011年,人们对乔布斯的去世记忆深刻,但这一年还有另一位本应获得同样关注的人物也与世长辞,他就是C语言之父丹尼斯·里奇(Dennis Ritchie). 不过,并非所有人都没能正确认识到里奇所曾作出 ...
- 后端推送给app等发生错误如何处理
今天有人问了这样一个问题..当比如说Android客户不能看到后台返回的错误..这样用户看着是什么感觉.然后我直接答的都不是同一个东西.默默地反省了一下. 其实就是try{}..catch{} 啊.. ...
- 转:Mysql在大型网站的应用架构演变
原文来自于:http://www.cnblogs.com/Creator/p/3776110.html 原创文章,转载请注明: 转载自http://www.cnblogs.com/Creator/本文 ...
- 转:memset用法详解
功 能 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向S的指针. [编辑本段 ...
- haskell入门
斯坦福公开课<编程范式>中介绍了Scheme(但是不仅仅是Scheme,它只是作为函数式语言的代表),最后一课介绍了Haskell... “Hello World!”是学习一门语言的魔咒 ...
- HDOJ(HDU) 1785 You Are All Excellent(角度运算)
Problem Description 本次集训队共有30多人参加,毫无疑问,你们都是很优秀的,但是由于参赛名额有限,只能选拔部分队员参加省赛.从学校的角度,总是希望选拔出最优秀的18人组成6支队伍来 ...
- [Java] JVM 在执行 main 方法前的行为
JVM 执行一个 Java 程序时,先从某个指定的 Java 类的 main 方法开始执行代码,同时,传一个字符串数组作为 main 方法的参数.例如在 Unix 系统上,执行下面的命令 java T ...
- 【树形动态规划】【CTSC1997】选课 解题报告
CTSC1997-选课 描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修了这 ...