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 ...
随机推荐
- ecshop 支付
支付分成两部分 1.订单信息 2.支付日志ID 3.生成支付代码 一次性支付完成 // 支付信息 include_once('includes/lib_payment.php'); $order['l ...
- 文件夹锁定(Source)
文件夹锁定(Source)private void Lock(string folderPath){ try { string adminUserName = Environ ...
- 使用JVMTI创建调试和监控代理
Java 虚拟机工具接口(JVMTI)提供了一个编程接口,允许你(程序员)创建software agent 来监视和控制你的Java应用. JVMTI 代替了原来的Java Virtual Machi ...
- soj 2013年 Nanjing Slection
这样加边比STL快! 不明白为什么要+mod #include<iostream> #include<cstdio> #include<queue> #includ ...
- Java高并发同步Volatile的使用
引言: 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”. 可见性的意思 ...
- androi手机解锁引导程序
1.重启手机进入fastboot模式 一般关机状态下按手机音量减+开机键,成功后会显示fastboot字提示. 2.查看设备信息 fastboot devices 说明:fastboot是一个工具软 ...
- Servlet 之 HttpServlet
package cn.jiemoxiaodi.http; import java.io.IOException; import javax.servlet.GenericServlet; import ...
- CFileDialog(文件夹对话框类)和CFontDialog(字体设置对话框类)的使用学习
CFileDialog(文件夹对话框类) 主要用于文件的保存,另存,打开,关闭等功能 功能“另存为”的实现: void CTXTDlg::OnFileSaveas() { LPCTSTR szFilt ...
- GitHub for windows呆瓜级入门
一.GitHub是一个远程数据托管平台,对于代码用于版本控制(保存各个阶段的代码版本).首先去 https://github.com/ 注册一个GitHub账号 二.输入用户名(不能重复,相当于在Gi ...
- Entity Framework 中的in操作实例
var listimportDataEOIResoults = importDataEOIResoults.Select(i => i.ProductSelectionId).ToList(); ...