Object-c:NSString的创建
Nsstring的创建方法很多有从文件读取、URL读取、普通C语言字符串创建等对于这种创建最好代码演示
1.//在OC中只要在普通的字符串C语言字符串前面加上@就可以变成了NSString对象
NSString *first = @"first Nsstring";
//%@是调用对象中的descrition 方法相当于JAVA中的toString方法
NSLog(@"%@",first);
2.//使用动态方法创建
NSString *tow= [[NSStringalloc]initWithFormat:@"the %i Nsstring is tow",2];
NSLog(@"%@",tow);
//由于使用了动态方法创建所以需要对计数器进行减一
[tow release];
3.//使用静态的方法进行创建Nsstriing
//该方法会报警告但是不影响使用。因为苹果公司不建议我们使用该方法进行创建
NSString *three = [NSStringstringWithString:@"static method creat Nsstring"];
NSLog(@"%@",three);
4.//将一个C语言的字符串变成NSString, 第二个参数是指定编码方式下面为系统给我们提供的编码方式我们可以看出是一个枚举类。如果我们使用NSASCIIStringEncoding编码来
// 进行对中文进行转换会出现乱码的。
// NSString *four= [NSString stringWithCString:"这是一个C语言的字符转换成NSString" encoding:NSASCIIStringEncoding];
// 打印结果2014-04-16 22:11:46.918 NNstring类的使用[737:303] èˉaCèˉ-è¨-|èNSString
// enum {
// NSASCIIStringEncoding = 1,/* 0..127 only */
// NSNEXTSTEPStringEncoding = 2,
// NSJapaneseEUCStringEncoding = 3,
// NSUTF8StringEncoding = 4,
// NSISOLatin1StringEncoding = 5,
// NSSymbolStringEncoding = 6,
// NSNonLossyASCIIStringEncoding = 7,
// NSShiftJISStringEncoding = 8, /* kCFStringEncodingDOSJapanese */
// NSISOLatin2StringEncoding = 9,
// NSUnicodeStringEncoding = 10,
// NSWindowsCP1251StringEncoding = 11, /* Cyrillic; same as AdobeStandardCyrillic */
// NSWindowsCP1252StringEncoding = 12, /* WinLatin1 */
// NSWindowsCP1253StringEncoding = 13, /* Greek */
// NSWindowsCP1254StringEncoding = 14, /* Turkish */
// NSWindowsCP1250StringEncoding = 15, /* WinLatin2 */
// NSISO2022JPStringEncoding = 21, /* ISO 2022 Japanese encoding for e-mail */
// NSMacOSRomanStringEncoding = 30,
//
// NSUTF16StringEncoding = NSUnicodeStringEncoding, /* An alias for NSUnicodeStringEncoding */
//
// NSUTF16BigEndianStringEncoding = 0x90000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */
// NSUTF16LittleEndianStringEncoding = 0x94000100, /* NSUTF16StringEncoding encoding with explicit endianness specified */
//
// NSUTF32StringEncoding = 0x8c000100,
// NSUTF32BigEndianStringEncoding = 0x98000100, /* NSUTF32StringEncoding encoding with explicit endianness specified */
// NSUTF32LittleEndianStringEncoding = 0x9c000100 /* NSUTF32StringEncoding encoding with explicit endianness specified */
// };
// typedef NSUInteger NSStringEncoding;
NSString *four= [NSStringstringWithCString:"这是一个C语言的字符转换成NSString" encoding:NSUTF8StringEncoding];
NSLog(@"%@",four);
5.//格式化的方式进行创建对象
NSString *five= [NSStringstringWithFormat:@"format Nsstring %i",5];
NSLog(@"%@",five);
6.//直接以UTF-8编码进行创建NSString。接受参数是一个C语言字符串
NSString *six= [NSStringstringWithUTF8String:"我是C语言字符串6"];
NSLog(@"%@",six);
7.//读取文件进行创建字符串,从该方法中我们看到是一个指针的指针因此我们传得是一个地址
NSString *path = @"/Users/calvin/Desktop/test.txt";//我这个文件中的内容是123456
NSError *error;
NSString *fileNSString= [NSStringstringWithContentsOfFile:path encoding:NSUTF8StringEncodingerror:&error];
if(error){
NSLog(@"读取错误%@",error );
}else{
NSLog(@"%@",fileNSString); //打印结果123456
}
8.//从url中读取字符串创建对象
//创建一个url
NSURL *url= [NSURLURLWithString:@"http://baidu.com"];
NSError *urlError;
NSString *urlNSString = [NSStringstringWithContentsOfURL:url encoding:NSUTF8StringEncodingerror:&urlError];
NSLog(@"%@",urlNSString);
if(urlError){
NSLog(@"错误%@",error );
}else{
NSLog(@"成功");
}
9.//把我们创建的字符串写到文件去
NSString *outFile = @"我要写到文件去";
NSString *path2 = @"/Users/calvin/Desktop/test.txt";
NSError *writerError;
[outFile writeToFile:path2 atomically:trueencoding:NSUTF8StringEncodingerror:&writerError];
if(writerError){
NSLog(@"写入错误%@",error );
}else{
NSLog(@"写入成功");
}
转载于:https://blog.51cto.com/8551527/1396772
Object-c:NSString的创建相关推荐
- Java 数组中new Object[5]语句是否创建了5个对象?
点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/qq_33642117/ article/details/52214403 Java 数组的本质是一个Java类,它是通过new ...
- Xcode pch文件配置及object c 单例创建
#####pch文件简介(摘抄自survivors的博客) 首先 pch 文件(即:Prefix Header)是一种预编译文件,在 Xcode 6 之前创建新的工程则会自动将该文件一起创建出来,但在 ...
- 用javascript 创建ActiveX对象时出现:Automation server can't create object(Automation 服务器不能创建对). 错误的解决办法。
今天,想实现在客户端读取一个EXCEL文件到一个Table中 ,所以写了如下代码: function readExcel() ... { var fileName = document.get ...
- JS对象创建 Object.create() 方法
概述 Object.create() 方法创建一个拥有指定原型和若干个指定属性的对象. 语法 Object.create(proto, [ propertiesObject ]) 通过Object.c ...
- (0019)iOS 开发之关于__weak修饰NSString以及内存管理的问题
前言:写这篇文章的初衷,是对阅读别人的博客提出的疑问,一路探索得来的.同时也要加强对内存管理以及block 的管理和使用. ARC指南1 - strong和weak指针 写到:打印出来是"( ...
- 关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary
NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary 在 OC 中我们天天都要用,而我们要怎 ...
- NSString 字符串 操作 常用
//将NSData转化为NSString NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8 ...
- Objective-C中的NSNumber和NSString
In this tutorial we'll discuss NSNumber and NSString data types used in Objective-C. The Foundation ...
- C#线程间操作无效: 从不是创建控件 XX 的线程访问它
转自:http://www.arasplm.net/index.php/zh/community/myblog/c-xx-.html 前些天做的要使用到线程的项目,现在和大家分享一下感受! 以下面小列 ...
最新文章
- 数据库内核月报 - 2017年12月
- 互联网普适性职业生涯?
- 编写XML作为配置文件的高级操作库
- MySQL中自动增长类型要求
- poj2352-线段树-start
- 【操作系统笔记】中断和异常
- vi - vim的一些遗忘点
- mysql group by having 子句
- 小记linux如何挂载window下的共享文件
- 如何选取dataframe某个值
- Android Floyd-Steinberg-Dithering、Stucki-dither 抖动处理
- 临时手机短信云接收(防骚扰)
- 攻击重放技术以及什么是重放攻击?
- 《Head First Java (中文第二版)》勘误
- 微波射频学习笔记17-------LC谐振的验证和LC滤波器原理
- 阿里云李飞飞:中国数据库的时与势
- 洛谷 P3858 路标设置
- org.gradle.api.resources.ResourceException: Could not get resource ‘https://xxx.xxx/xxx.pom
- MYSQL学习笔记-(白夜黑羽)
- python获取字符串首字母_Python中用startswith()函数判断字符串开头的教程