OC_NSString
//
// main.m
// OC_NSString
//
// Created by qianfeng on 15/6/10.
// Copyright (c) 2015年 qianfeng. All rights reserved.
// #import <Foundation/Foundation.h> //NSString 字符串类 创建不可变字符串对象的类
//NSMutableString 创建可变字符串对象类 //OC语言完全兼容C语言,C语言中的函数,以及语法都可以在OC中使用
//OC字符串与C语言字符串区别
//1.OC字符串是一个字符串对象,字符串常量需要用 @"" 包含
//2.C语言字符串用 "" 包含
//3.C语言的字符串存储的是以字符的ASCII形式存储
//4.OC中的字符串存储是以uicode编码(万国码)形式存储
//UTF-8(多字节编码)
//5.打印OC的字符串用 %@ ,打印C语言的字符串用 %s;
//
//
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str1 = @"hello world";//@"hello world"是一个字符串常量,存储在常量区
NSLog(@"str1 = %@",str1);
//格式化创建字符串对象
//对象方法
//- (instancetype)initWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
NSString *str2 = [[NSString alloc] initWithFormat:@"%s%d%@","hello",,@"world"];
NSLog(@"str2 = %@",str2);
//格式化的类方法创建字符对象
//+ (instancetype)stringWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2); NSString *str3 = [NSString stringWithFormat:@"%s%d%@","qian",,@"feng"];
NSLog(@"str3 = %@",str3); //用给定的字符串对象创建字符串对象
NSString *str4 = @"中国教育";
NSString *str5 = [[NSString alloc] initWithString:str4];
NSLog(@"str5 = %@",str5); //用C的字符串创建OC的字符串对象
NSString *str6 = [[NSString alloc] initWithUTF8String:"qianfengjiaoyu"];
NSLog(@"str6 = %@",str6); NSString *str7 = [[NSString alloc] initWithCString:"千锋qianfeng" encoding:NSUTF8StringEncoding];
NSLog(@"str7 = %@",str7); //创建一个空的字符串对象 @"" ;
NSString *str8 = [NSString string];
NSLog(@"str8 = %@",str8); NSString *str9 = [[NSString alloc] init];
NSLog(@"str9 = %@",str9); //跟initWithString相对应
NSString *str10 = [NSString stringWithString:str7];
NSLog(@"str10 = %@",str10); //跟initWithUTF8String相对应
NSString *str11 = [NSString stringWithUTF8String:"hello world 中国"];
NSLog(@"str11 = %@",str11); NSString *str12 = [NSString stringWithCString:"zhongguo" encoding:NSUTF8StringEncoding];
NSLog(@"str12 = %@",str12);
}
return ;
}
OC_NSString的更多相关文章
- OC_NSString、
8月17日NSString 一.字符串的创建 //1.创建常量字符串 NSString *str1 = @"hello world"; NSLog(@"%@", ...
随机推荐
- CSS layout入门
元素与盒 在HTML中常常使用的概念是元素,而在CSS中,布局的基本单位是盒,盒总是矩形的. 元素与盒并非一一对应的关系,一个元素可能生成多个盒,CSS规则中的伪元素也可能生成盒,display属性为 ...
- D3D游戏编程系列(六):自己动手编写第一人称射击游戏之第一人称视角的构建
说起第一人称射击游戏,不得不提第一人称视角啊,没有这个,那么这个第一就无从谈起啊,我作为一个观察者究竟如何在这个地图上顺利的移动和观察呢,那么,我们一起来研究下. 我们首先来看下CDXCamera类: ...
- IOS知识小记
iOS开发 小知识点 http://www.cnblogs.com/tangbinblog/archive/2012/07/20/2601324.html Objective-C中的instancet ...
- Android设计模式系列--观察者模式
观察者模式,是一种非常常见的设计模式,在很多系统中随处可见,尤其是涉及到数据状态发生变化需要通知的情况下.本文以AbstractCursor为例子,展开分析.观察者模式,Observer Patter ...
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
原文地址:http://www.cnblogs.com/obullxl/archive/2011/07/10/spring-quartz-cron-integration.html 在JavaEE系统 ...
- ThinkPHP3.1快速入门(12)自动验证
自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 验证规则 数据验证可以进行数据类型.业务规则.安全判断等方面的验证操作.数据验证有两 ...
- android.annotation cannot be resolved
http://stackoverflow.com/questions/14870596/android-annotation-cannot-be-resolved As Artem suggested ...
- android图片处理方法(不断收集中)
//压缩图片大小 public static Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArr ...
- [Effective C++ --015]在资源管理类中提供对原始资源的访问
引言 资源管理类是防止资源泄漏的有力武器,但是许多APIs直接指涉资源,除非你发誓永不使用这样的APIs,否则只得绕过资源管理对象(resource-managing objects)直接访问原始资源 ...
- [Effective C++ --011]在operator=中处理“自我赋值”
一.何谓“自我赋值”? 1.1.场合一 直接赋值 w = w; 1.2.场合二 同一数组 a[i] = a[j]: 1.3.场合三 指针 *px = *py: 1.4. ...