Object-C 1.0 第二章
1. 输出obc
#import <Foundation/Foundation.h>
int main(int argc,const char *argv[])
{
NSLog(@"Hello obc");
return 0;
}
2. 说明
C语言使用#include语句通知编译器应在头文件中查询定义。
Objective-C使用头文件来包含元素声明,这些元素包含结构体、符号常量、函数模型等
#import 可保证头文件只被包含一次,而不论此命令实际上在那个文件中出现了多少次。
#import <Foundation/Foundation.h> 语句告诉编译器查看Foundation框架中的Foundation.h头文件
框架是一种聚集在一个单元的部件集合,包含头文件、库、图像、声音文件等。
如果你想知道Foundation框架包含了哪些头文件,可以查看其Headers目录(System/Library/FrameWorks/Foundation.framework/Header/)
NSLog(@"Hello World"); 双引号中的字符串前有一个@符号,表示引用的字符串应该作为Cocoa的NSString元素处理。
NSString的一些功能:
1.告知其长度
2.将自身与其他字符串比较
3.将自身转换为整型值或浮点值
布尔类型 : 指的是存储真值和假值的变量
BOOL 它具有YES和NO值
使用NSLog()输出任意对象的值时,都会使用%@格式说明。在使用这个说明符时,对象通过一个名为description的方法提供自己的NSLog()格式。NSString的description方法可简单输出字符串中的字符。
import <Foundation/Foundation.h> // 告诉编译器查看Foundation框架中的Foundation.h头文件
NSLog(@"Hello Object-C!"); // 可以接收一个字符串作为其第一个参数,该字符串可包含格式说明符(如%d)。此函数喊可以接受匹配格式说明符的其他参数,添加了新的特性,如时间戳。日期戳等 NS表示函数来自Cocoa而不是其他工具包 ,@ 符号是Object-C在标准C语言基础上添加的特性之一,表示引用的字符串应该作为Cocoa的NSString元素来处理。
声明一个对象的时候 const char *words[4] ={"aaaaa","bbbbbb","ccccccc","ddddddd"}; 表示声明一个char类型的对象常量
布尔类型
Object-C的BOOL类型和C语言的bool类型可以在同一个程序中共存,但在编写Cocoa代码时要使用BOOL
Object-C中的BOOL实际上是一种对带符号的字符类型(signed char)的定义(typedef)8位存储空间,YES为1,No为0(使用#define) ;
绝不要直接将BOOL值和YES比较,因为Object-C中的1不等于YES
但是可以使用返回值为No的函数 因为C语言中假值就是0
使用NSLog()输出任意对象的值时,都会使用 %@ 格式说明。在使用这个说明符时,对象通过一个名为description的方法提供自己的NSLog()格式,NSString的description方法可简单输出字符串中的字符
Object-C 1.0 第二章的更多相关文章
- Python黑帽编程 2.0 第二章概述
Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...
- Effective Objective-C 2.0 — 第二章 对象、消息、运行期 - 第六条:理解“属性”这一概念
开发者通过对象来 存储并传递数据. 在对象之间传递数据并执行任务的过程就叫做“消息传递”. 这两条特性的工作原理? Objective-C运行期环境(Objective-C runtime) ,提供了 ...
- 《驾驭Core Data》 第二章 Core Data入门
本文由海水的味道编译整理,请勿转载,请勿用于商业用途. 当前版本号:0.4.0 第二章 Core Data入门 本章将讲解Core Data框架中涉及的基本概念,以及一个简单的Core Data ...
- Laxcus大数据管理系统2.0(5)- 第二章 数据组织
第二章 数据组织 在数据的组织结构设计上,Laxcus严格遵循数据和数据描述分离的原则,这个理念与关系数据库完全一致.在此基础上,为了保证大规模数据存取和计算的需要,我们设计了大量新的数据处理技术.同 ...
- 微信小程序教学第二章:小程序中级实战教程之预备篇 - 项目结构设计 |基于最新版1.0开发者工具
iKcamp官网:http://www.ikcamp.com 访问官网更快阅读全部免费分享课程:<iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享>. ...
- C# Language Specification 5.0 (翻译)第二章 词法结构
程序 C# 程序(program)由至少一个源文件(source files)组成,其正式称谓为编译单元(compilation units)[1].每个源文件都是有序的 Unicode 字符序列.源 ...
- Laxcus大数据操作系统2.0(5)- 第二章 数据组织
第二章 数据组织 在数据的组织结构设计上,Laxcus严格遵循数据和数据描述分离的原则,这个理念与关系数据库完全一致.在此基础上,为了保证大规模数据存取和计算的需要,我们设计了大量新的数据处理技术.同 ...
- 精通Web Analytics 2.0 (4) 第二章:选择你的网络分析灵魂伴侣的最佳策略
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第二章:选择你的网络分析灵魂伴侣的最佳策略 在Web Analytics 2.0的新世界秩序中,您必须跳出"单一真理来 ...
- Gradle2.0用户指南翻译——第二章. 概述
翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc本文翻译所在分支:https://github.com/msdx/gradledoc/tree/2 ...
随机推荐
- [Unity3D]引擎学习之注意事项(持续更新中)
调试相关 如果是想在触发粒子系统效果的时候播放声音(比如爆炸的特殊发生时也播放声音),则需要将爆炸效果的粒子系统保持为Prefab后,添加Audio Source组件,在组件中添加声音文件并且确保pl ...
- Python之路【第十八篇】Django小项目简单BBS论坛部分内容知识点
开发一个简单的BBS论坛 项目需求: 整体参考“抽屉新热榜” + “虎嗅网” 实现不同论坛版块 帖子列表展示 帖子评论数.点赞数展示 在线用户展示 允许登录用户发贴.评论.点赞 允许上传文件 帖子可被 ...
- kettle参数、变量详细讲解[转]
kettle 3.2 以前的版本里只有 variable 和 argument,kettle 3.2 中,又引入了 parameter 概念:variable 即environment variabl ...
- 评价cnblogs.com的用户体验
我们作为大学计算机科学与技术专业的本科生,使用博客园主要是用来搜索和阅读技术资料,并且使用它来编辑发表博客.我们偏向于搜索便捷,界面友好的网站风格.我们对cnblogs的期望是更便捷精准,更便于编辑. ...
- Bestcoder#5 1003
Bestcoder#5 1003 Poor RukawTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- 微信网页版APP - 网页微信客户端电脑版体验
微信网页版很早就出来了,解决了很多人上班不能玩手机的问题.微信电脑版-网页微信客户端,直接安装在桌面的微信网页版,免去了开浏览器的麻烦.双击就启动了,和其他的应用程序一样:运行过程中可以隐藏在桌面右下 ...
- 商品库存“存取设计”,MySQL事务、表锁、行锁
MySQL 使用 SELECT ... FOR UPDATE 做事务写入前的确认 以MySQL 的InnoDB 为例,预设的 Tansaction isolation level 为 REPEATA ...
- popoverPresentationController UIPopoverController 使用方法详解
之前iPad特有的控件,现在iPhone亦可使用. 点击按钮,弹出popOverVC. 按钮的点击事件: - (IBAction)pickOrderAction:(UIButton *)sender ...
- difference bewteen *args and **args in python?
It's also worth noting that you can use * and ** when calling functions as well. This is a shortcut ...
- C语言 链表排序
#include <stdio.h> #include <stdlib.h> #include <assert.h> typedef struct node{ in ...