`

【object-c基础】Object-c基础之一:#import,NSLog(),数据类型

 
阅读更多

(1)在object-c中,用#import来代替C语言中的#include;

在一般的头文件中都会用#import<Foundation/Foundation.h>;

Foundation框架是一个处理用户界面之下的层中的特性,Foundation为cocoa框架的子集,cocoa框架还包括Application Kit框架。


(2)NSLog

此命令是向控制台显示输出语句,跟c语言的printf()很相似,比如:

NSLog(@”Hello World!”);则是在控制台输出HelloWorld!双引号中的字符串前有一个@符号,这表示引用的字符串应该作为Cocoa的NSString元 素来处。前面的NS代表你这个函数是来自Cocoa而不是其他工具包,这是苹果公司的习惯问题,为了保存之前代码的兼容性,才继续采用NS前缀。


(3)数据类型

object-c支持的类型有:

布尔类型(boolean): 他具有YES和NO两个值,与c语言的true和false类似。

例如:Booleanrunning;

对象类型: 在object-c中,一个对象包含了数据和一组操作,这组操作可以使用或是修改对象的数据。

id: 在object-c中,对象标识被作为一个特殊的数据类型:id。这个数据类型定义为引用对象的指针。实际上是指向对象实例变量的指针。

例如:idlight;

id和对象类型的比较

1,id关键字在编译时不被检查,而NSObject在编译时会被检查是否被调用一些错误方法。

2,id可以是任何对象,包括非NSObject对象

3,定义id的时候不使用*,NSObject却需要。


字符串类型(NSString):

例如:NSString*aString = @“我是一个NS字符串”;

或者可以这样创建: NSString *aString = [[NSString alloc] initWithFormat:@"这也是个NS字符串!"];

*initWithFormat是其中一个初始化方法,常用的还有

//从一个文件读取需要的内容

- (id)initWithContentsOfFile:(NSString *)pathencoding:(NSStringEncoding)enc error:(NSError **)error

//从一个地址读取需要的内容

 -(id)initWithContentsOfURL:(NSURL *)urlencoding:(NSStringEncoding)enc error:(NSError **)error

*以上方法得到的NSString的retain值为1,所以要记得release掉(retain和release下次讲)


其他类型则与c语言具有较大的相似性,所以这里就不讲了。

共同的事业,共同的斗争,可以使人们产生忍受一切的力量。 —— 奥斯特洛夫斯基
分享到:
评论

相关推荐

    Object C语言教程及案例.docx

    我注意到您提到的是 Objective-C 语言,这是一种主要用于 macOS 和 iOS 开发的编程语言。下面是一个简要的 Objective-C 语言教程和一个基本的案例。 ### Objective-C 语言教程: #### 1. Hello World 程序 ```...

    Objective-C基础教程 中文 PDF 清晰版 [31M]

    中文名: Objective-C基础教程 作者: Mark Dalrymple Scott Knaster译者: 高朝勤 杨越 刘霞图书 分类: 软件 资源格式: PDF 版本: 扫描版 出版社: 人民邮电出版社 书号: ISBN: 9787115208774 发行时间: 2009...

    Objective-c对象组装XML

    [map setObject:@"c" forKey:@"content"]; 或者 NSMutableArray *list = [[NSMutableArray alloc]init]; NSMutableDictionary *map1 = [[NSMutableDictionary alloc]init]; [map1 setObject:@"a1" forKey:@...

    [Objective-c程序设计].杨正洪等.扫描版

    前6章讲述Objective-C语言,包括数据类型、运算符、表达式、条件语句、循环语句、类、协议、继承、类别、编译预处理等内容。第7章到第10章讲述Objective-C的基础框架,以及文件操作、内存管理、数据保存等内容。第11...

    iOS下json解析工具

    iOS下解析json数据,自己亲自使用过,挺好用的。 使用JSONKit的解析方法:(需导入包:#import "JSONKit/JSONKit.h") - (void)printJson{ //如果json是“单层”的,即value都是字符串、数字,可以使用...

    重定向NSLog 输出到本地案例

    作者jiaforios,源码ZJDebugLogView,实现方法:重定向NSLog 输出到本地 实现脱机下同样可以查看输出日志 使用方法: 在全局头文件中(.pch 文件) 中重新宏定义 NSLog #define NSLog(format, ...) do { \ (NSLog...

    GBLoading:一个优雅、轻量级且最重要的是强大的 iOS 异步资源加载库

    GB加载中 一个优雅、轻量级且最重要的是强大的 iOS 异步资源加载库。基本用法要异步加载资源,只需调用(您的成功和失败处理程序将在主线程上调用): [[GBLoading sharedLoading ] loadResource: @" ...

    Programming in Objective-C 4th Edition

    The #import Statement 240 Conditional Compilation 241 The #ifdef, #endif, #else 241 The #if and #elif Preprocessor Statements 243 The #undef Statement 244 Exercises 245 13 Underlying C Language ...

    下载助手 断点续传多任务下载

    源码LCDownloadManager,一个简单易用的的下载助手。依赖于AFN,实现断点续传,采取Block方式回调下载进度、文件大小、下载是否完成等。 前言 Foreword 一个用来处理下载的库,基于AFN,实现了好几个东西,时间...

    ios开发记录

    //此方法可以有参数,也可以没有参数,如果没有参数系统不会给你穿参数,如果有参数,只能有一个参数,无论你所指定的参数类型是什么,系统只会把tf本身给传过去 [tf addTarget:self action:@selector(down:) ...

    HBHashButton:通过类别向 UIButtons 添加哈希系统

    #import "UIButton+HBHashButton.h" UIButtons 现在可以像 NSMutableDictionary 一样工作 ###例子 UIButton *button = [UIButton alloc]initWithFrame:CGRectMake:(0,0,100,90)]; [button setObject:@"Hello ...

Global site tag (gtag.js) - Google Analytics