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 之脚本架构,优雅地管理你的代码
本文参考雨松MOMO大神的帖子: 图片全部来自他的帖子(请允许我偷懒下) --------------------------------------------------------------- ...
- MySQL提示:The server quit without updating PID file问题的解决办法(转载)
MySQL提示:The server quit without updating PID file问题的解决办法 今天网站web页面提交内容到数据库,发现出错了,一直提交不了,数找了下原因,发现数据写 ...
- Programming with Objective-C ----------Encapsulating Data
Most Properties Are Backed by Instance Variables By default, a readwrite property will be backed by ...
- Eclipse快捷键与使用技巧总结
快捷键 功能 Ctrl + / 双斜杠注释 Ctrl + Shilft + / 块注释 Alt + / 代码提示 Ctrl + I (或 Ctrl + Shift + F) 格式化代码 Ctrl + ...
- C和指针 第十一章 动态内存分配
声明数组时,必须指定数组长度,才可以编译,但是如果需要在运行时,指定数组的长度的话,那么就需要动态的分配内存. C函数库stdlib.h提供了两个函数,malloc和free,分别用于执行动态内存分配 ...
- js中apply()和call()方法的使用
1.apply()方法 apply方法能劫持另外一个对象的方法,继承另外一个对象的属性. Function.apply(obj,args)方法能接收两个参数 obj:这个对象将代替Funct ...
- C++文件读写详解
http://blog.csdn.net/kingstar158/article/details/6859379/
- 双击导航栏自动滑动ListView到顶部
有些app都实现了双击导航栏让页面的list自动滑动到顶部的feature. 先实现一个继承于OnTouchListener的监听多次点击事件的监听器,通过callback把连续点击的次数返回给客户代 ...
- 面向对象(五)super
super方法只是为了执行继承父级的init方法,若要详细,请参考别人的博客 class a(object): def __init__(self): print("aINIT") ...
- POJ推荐50题
此文来自北京邮电大学ACM-ICPC集训队 此50题在本博客均有代码,可以在左侧的搜索框中搜索题号查看代码. 以下是原文: POJ推荐50题1.标记“难”和“稍难”的题目可以看看,思考一下,不做要求, ...