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 ...
随机推荐
- windows系统在python3.5环境下安装mysql组件
折腾了一个多小时,终于把连接Mysql的模块装好了,由于我的环境是python3.5,Mysql官方支持到python3.4,后面google查到有pymysql模快支持python3.5,这个模块是 ...
- Endnote专题之--output style相关问题
Endnote专题之--output style相关问题 1. 打开output style, Edit--->Output Styles--->选择要编辑的某个style模板,如下面的E ...
- python requests模块使用
python的网络编程能力十分强大,其中python中的requests库宣言:HTTP for Humans (给人用的 HTTP 库) 在网络编程中,最基本的任务包含: 发送请求 登录 获取数据 ...
- Hibernate映射文件如何配置触发器
Hibernate映射文件之触发器生成(generated属性.database-object元素) (2013-02-27 12:28:49) 转载▼ 标签: it 分类: JAVA学习笔记 这里分 ...
- 深入理解javascript原型和闭包(5)——instanceof
又介绍一个老朋友——instanceof. 对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/ ...
- GIFT-EMS礼记----青软S2SH(笔记)
这个S2SH的项目,是这本书的一个贯穿项目,所以这里要记录一下, 看这个项目有两个目的: 1.借助这个项目,学习一下S2SH的综合配置及使用 2.借助这个项目练习一下如何做需求分析和项目架构设计. P ...
- Chrome 及其 插件“个性化设置”备份
Chrome版本发布时间表 2016.10.13 v54.0.2840.59 主题颜色由 蓝色 变为 灰色 2016.11.17 重新使用 Chrome 浏览器(v54.0.2840.99),并设置 ...
- CPU思考
线程高并发 会导致CPU load长,线程大运算量和大量线程 会导致CPU利用率高 因为CPU处理都是原子操作的,8核CPU在同一时刻最多也只能处理8个线程,但是因为处理的非常快,所以即使几万个简单线 ...
- ReactiveCocoa源码拆分解析(七)
(整个关于ReactiveCocoa的代码工程可以在https://github.com/qianhongqiang/QHQReactive下载) 在这篇博客中,我将把ReactiveCocoa中的擦 ...
- 基于浏览器的HTML5地理定位
基于浏览器的HTML5地理定位 地理位置(Geolocation)是 HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用.今天这篇文章向大家介绍一下 HTML ...