objective-C 的Hello World!
时间:2022-04-23
本文章向大家介绍objective-C 的Hello World!,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
// main.m
// HelloWorld
// Created by jimmy.yang on 11-1-24.
// Copyright 2011 __MyCompanyName__. All rights reserved.
#import <Foundation/Foundation.h>
//定义“几何形状类型”枚举
typedef enum{
kCircle,
kRectangle,
kOblatesShperoid
} ShapeType;
//定义“几何形状颜色”枚举
typedef enum{
kRedColor,
kGreenColor,
kBlueColor
} ShapeColor;
//定义“几何形状矩形区域”结构
typedef struct{
int x,y,width,height;
} ShapeRect;
//定义“几何形状”结构
typedef struct{
ShapeType type;
ShapeColor fillColor;
ShapeRect bounds;
}Shape;
//返回“枚举颜色”的名称
NSString *colorName(ShapeColor colorName){
switch (colorName) {
case kRedColor:
return @"red";
break;
case kGreenColor:
return @"green";
break;
case kBlueColor:
return @"blue";
break;
default:
return @"no clue";
break;
}
}//colorName
//画圆
void drawCircle(ShapeRect bounds,ShapeColor fillColor){
NSLog(@"drawing a circle at (%d,%d,%d,%d) in %@",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));
}//drawCircle
//画矩形
void drawRectangle(ShapeRect bounds,ShapeColor fillColor){
NSLog(@"drawing a rectangle at (%d,%d,%d,%d) in %@",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));
}//drawRectangle
//画椭圆形
void drawEgg(ShapeRect bounds,ShapeColor fillColor){
NSLog(@"drawing an egg at (%d,%d,%d,%d) in %@",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));
}//drawEgg
//画几何形状
void drawShapes(Shape shapes[],int count){
int i;
for(i=0;i<count;i++){
switch (shapes[i].type) {
case kCircle:
drawCircle(shapes[i].bounds,shapes[i].fillColor);
break;
case kRectangle:
drawRectangle(shapes[i].bounds,shapes[i].fillColor);
break;
case kOblatesShperoid:
drawEgg(shapes[i].bounds,shapes[i].fillColor);
break;
default:
break;
}
}
}//drawShapes
//主程序入口
int main(int argc, char *argv[])
{
Shape shapes[3];
ShapeRect rect0 ={0,0,10,30};
shapes[0].type = kCircle;
shapes[0].fillColor = kRedColor;
shapes[0].bounds = rect0;
ShapeRect rect1 = {30,40,50,60};
shapes[1].type = kRectangle;
shapes[1].fillColor = kGreenColor;
shapes[1].bounds = rect1;
ShapeRect rect2 = {15,18,37,39};
shapes[2].type = kOblatesShperoid;
shapes[2].fillColor = kBlueColor;
shapes[2].bounds = rect2;
drawShapes(shapes, 3);
return (0);
}
Console窗口的运行结果:
2011-01-25 13:49:05.978 HelloWorld[734:a0f] drawing a circle at (0,0,10,30) in red 2011-01-25 13:49:06.016 HelloWorld[734:a0f] drawing a rectangle at (30,40,50,60) in green 2011-01-25 13:49:06.018 HelloWorld[734:a0f] drawing an egg at (15,18,37,39) in blue
- Python自学笔记——多线程微信文章爬取
- 习近平要求加快这项技术发展 与你关系很密切!
- 趴比库获数百万元融资 域名pabiku.com给力十足
- 联袂腾讯 “互联网+税务”创新模式在蒙启动
- 学医11年,终将被机器取代
- 大数据揭示:女性比男性更关注医改 建档等是热门话题
- 腾讯人工智能实验室AI Lab主任张潼博士前沿对话:AI如何助力营销?
- 当前所有源码链接
- Python入门基础连载(4)控制流
- 济西站构建大数据运营网络,打造智能化列车加工厂
- 五位数终端收购的域名dongxiao.cn已启用
- 全球互联网发展进入“拐点”——展望下一代互联网
- 2 分钟论文:语音生成表情包背后的技术原理
- 享学课堂谈-Python程序员的常见错误
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java——try catch finally异常的捕获及处理逻辑实例详解大全
- Java——String类使用详解(实例化、字符串比较、匿名对象、两种实例化方法的区别)
- Java——数组的定义与使用(基本概念、引用分析、初始化方式、二维数组、对象数组)
- Java——单例设计模式
- Java——包的定义及使用
- Java——Object类(基本概念、toString()方法、equals()方法、可以接收所有引用类型)
- JavaWeb——MyBatis框架之对数据库的增删改查操作CRUD实践及MyBatis参数的深入详解
- JavaWeb——MyBatis框架之入门总结及案例实战,常见坑处理:Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0
- JavaWeb——MyBatis框架之执行过程原理与解析(通过自定义MyBatis查询所有操作的实现来观察整个过程)
- Java——抽象类(基本概念、使用原则、模板设计模式)
- Java——覆写(概念、覆写的意义、覆写的要求)
- Java——继承性(继承的作用、实现、限制)
- JavaWeb——JSON语法讲解与Jackson解析器完成JSON数据与Java对象的转换(应用Ajax与JSON实现校验用户名是否在的功能)
- JavaWeb——JQuery之高级案例实战(打开网页自动弹出广告效果、抽奖效果实现)
- JavaWeb——JQuery之高级操作应用及实践案例总结(动画、遍历、事件绑定)