//
// 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的更多相关文章

  1. OC_NSString、

    8月17日NSString 一.字符串的创建 //1.创建常量字符串 NSString *str1 = @"hello world"; NSLog(@"%@", ...

随机推荐

  1. express源码剖析2

    当使用express时,代码会这样写: var express = require('express'); 如果创建一个express的应用,代码会这样写: var app = express(); ...

  2. Packetbeat协议扩展开发教程 一

    原文链接:http://elasticsearch.cn/article/48 Packetbeat(https://www.elastic.co/products/beats/packetbeat) ...

  3. Android develop tricks——整理自国外的一些Blog

    ViewDragHelper --视图拖动是一个比較复杂的问题.这个类能够帮助解决不少问题.假设你须要一个样例,DrawerLayout就是利用它实现扫滑.Flavient Laurent 还写了一些 ...

  4. multiselect获取选中的多个下拉项的值(逗号分割的字符串)

    /*传入下拉select标签*/ function get_selected(mslt_employees) { var emplo =mslt_employees.multiselect(" ...

  5. UITableView实现格瓦拉飞天投票模块

    格瓦拉目前来说动画效果确实做的还比较好,虽然不是说很炫但做到精致,这次就模仿了它投票的模块.其实想到要实现它还是有很多方法,不过这次我还是采用了苹果自带控件UITableView简简单单来实现它,再次 ...

  6. Windows二进制文件的Python扩展包

    http://www.lfd.uci.edu/~gohlke/pythonlibs/ https://pypi.python.org/simple/

  7. 学习笔记之DB2 9 Fundamentals 730

    Sequence中cache的影响,每新建一个连接,next value值增加increment * cache.如果加上order,则会按顺序生成值. increment cache ; Conne ...

  8. 进程环境之C程序的存储空间布局

    从历史上讲,C程序一直由下面几部分组成: 正文段.这是由CPU执行的机器指令部分.通常,正文段是可共享的,所以即使是频繁执行的程序(如文本编辑器.C编译器和shell等)在存储器中也只需有一个副本,另 ...

  9. Simulate android behaviors on win32

    To make debugging android games on win32 more convenience, we added some simulate actions to win32 p ...

  10. mysql数据库常用语句3

    一:查询指定数据库中所有的表名 数据库名:test select table_name from information_schema.tables where table_schema='test' ...