四十六、基础框架(四)字符串物件
在之前的程序当中,你 也 遇到过 字符串物件的。无论 什么时候,你 将 字符串 放 在一对双引号当中,你 就 创建了 一个字符串物件,就像 这样:
1
|
@"编程很有趣。"
|
在基础框架当中,有 一类物件 叫做 NSString。NSString这类物件 就是 字符串物件。在c语言当中 字符串 由 char类型的字符 构成,相应的 NSString类型的物件 则 由 unichar类型的字符 构成。根据 Unicode标准,一个unichar类型的字符 包含了 若干字节。这样 你 就可以使用 包含成百上千万字符的字符集了。幸运的 是 你 不需要担心 在NSString类型的物件内部 每个字符 是 如何表示的,因为 NSString这类物件 会 自动 帮助 你 处理 这些。通过 适用于NSString这类物件的措施,你 可以 轻松地 开发出 本土化的应用程序,也就是说 你 可以使 你的应用程序 用 全世界所有不同的语言 进行工作。
我们 知道 在双引号前面 放置 一个@符号 可以创建 一个常量字符串物件,就像 这样:
1
|
@"编程很有趣"
|
常量字符串物件 属于 NSConstantString这一类型。而 NSConstantString这类物件 又 被包含 在NSString这类物件当中。要使用 字符串物件,就需要 在程序中 添加 下面这行语句:
1
|
#import <Foundation/NSString.h>
|
下面的程序 示范了 如何创建 一个NSString类型的物件,并且 将 字符串 存储 在这个NSString类型的物件当中。同时,下面这个程序 也 示范了 如何使用 格式符%@ 将 NSString类型的物件所代表的字符串 显示出来。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>
#import <Foundation/NSAutoreleasePool.h>
intmain(intargc,char*argv[])
{
NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];
NSString*string=@"编程很有趣";
NSLog(@"%@",string);
[pooldrain];
return0;
}
|
运行过后 得到 这样的结果:
1
|
2012-04-05 21:32:55.529 a.out[1452:707] 编程很有趣
|
其中
1
|
NSString*string=@"编程很有趣";
|
这行语句 将 ”编程很有趣”这个常量字符串物件 存储 在一个NSString变量string当中。然后
1
|
NSLog(@"%@",string);
|
这行语句 通过函数NSLog() 将 string这个变量中所包含的字符串 显示出来。
函数NSLog()所用到的格式符%@ 并不 只是 显示 NSString类型的物件,它 可以用来 显示 任何类型的物件。比如
1
2
3
|
NSNumber*integer=[NSNumbernumberWithInteger:100];
NSLog(@"%@",integer);
|
这两行语句 就会将 数值100 显示出来。
甚至 你 可以用 格式符%@ 显示 数组中的整个内容。格式符@% 还可以 显示 你自己创建的类型的物件,只要 你 重新 编写 你自己所创建的这类物件中description这项措施。如果 你 不 重新 编写 description这项措施,那么 NSLog()函数 就 仅仅 显示出 你的物件所属的类型 和 这个物件在内存中的地址。
四十六、基础框架(四)字符串物件相关推荐
- [系统安全] 四十六.Powershell恶意代码检测系列 (1)Powershell基础入门及管道和变量的用法
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
- Python编程基础:第四十六节 super函数Super Function
第四十六节 super函数Super Function 前言 实践 前言 使用super函数可以在子类中直接调用父类的方法.通常情况下,我们会将一些通用的属性或方法定义在父类中,子类可以直接使用父类中 ...
- oracle过滤器基础,Oracle培训(四十六)——Servlet第六章知识点总结——过滤器编程...
Oracle培训(四十六)--Servlet第六章知识点总结--过滤器编程 目标 编写一个过滤器 部署一个过滤器 了解请求和响应包装器 在请求分发器下的过滤器 知识点预览 过滤器 过滤器 1. 什么是 ...
- 【零基础学Java】—throw关键字(四十六)
[零基础学Java]-throw关键字(四十六) 一.throw关键字 public class demo {public static void main(String[] args) {//创建i ...
- pdfstamper生成pdf无法显示汉字_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验...
1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...
- 第四十六章:SpringBoot RabbitMQ完成消息延迟消费
在2018-3-1日SpringBoot官方发版了2.0.0.RELEASE最新版本,新版本完全基于Spring5.0来构建,JDK最低支持也从原来的1.6也改成了1.8,不再兼容1.8以下的版本,更 ...
- [Python从零到壹] 四十.图像处理基础篇之图像量化处理
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- 【正点原子STM32连载】第四十六章 FATFS实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...
- 【Visual C++】游戏开发笔记四十六 浅墨DirectX教程十四 模板测试与镜面特效专场
本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8632184 作者:毛星云( ...
- 光盘显示0字节可用_正点原子STM32F4/F7水星开发板资料连载第四十六章 汉字显示实验
1)实验平台:正点原子水星 STM32F4/F7 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载 ...
最新文章
- matlab GUI gca gco gcf
- 增加数据_PVC行业数据| 累库是趋势,华南海运中旬料增加(1230)
- loop设备做LVM
- 25大技术主题向您发出最后一次约【惠】邀请
- DFS应用——查找强分支
- 备份ad_IT管理公开课——备份恢复解决方案
- 最长单词(信息学奥赛一本通-T1149)
- JAVA并发,线程异常捕获
- 01-windows下python爬取网页上的图片
- java基础(十一章)
- ETL服务器安装手册
- 苹果手机怎么打印wps文档_怎么用苹果手机打印文件?
- 世界编程语言排名2019_世界十大编程语言-2019一起玩
- c#:判断一个数组元素中否有重复元素
- H.266代码学习:decompressCtu和xDecompressCU函数
- WiFi 破解连接方式
- 模拟滚动条.......
- linux下Found a swap file by the name解决
- H5生成二维码及保存
- Android 微信登录详细流程
热门文章
- 小步快跑,快速迭代:安全运营的器术法道
- sqlite数据库下载安装和初步操作和所遇到的问题near sqlite3:syntax error
- 分享75个PHP源码,总有一款适合您
- python编码问题——“utf-8”与“gbk”
- 标准化金额:加小数点和逗号 / 加逗号 / 加小数点 / 纯数字
- 【数字孪生】数字孪生模型在产品构型管理中应用探讨;不可忽视的轻量级三维可视化技术...
- python iot hub_IoT Hub入门(2)-设备发送消息到云端(d2c)
- Linux 的解压缩文件命令
- BZOJ4735 你的生命已如风中残烛(组合数学)
- 最新emoji表情代码大全_周六最美早晨好问候语图片大全 早晨好图片祝福 最新早上好问候动态表情图片...