IOS 学习笔记 2015-03-24 OC-API-不可变字符串
大部分是模仿
//
// main.m
// OC-API-不可变字符串
//
// Created by wangtouwang on 15/3/25.
// Copyright (c) 2015年 wangtouwang. All rights reserved.
// #import <Foundation/Foundation.h> //初始化
void testInit(){
//创建C 字符串对象
char str0 ="C String";
//创建字符串对象 无需释放内存
NSString *str1 = @"MAIKE";
//创建字符串对象 需要释放内存
NSString *str2 = [[NSString alloc] initWithString : @"JACK" ];
NSString *str3 = [[NSString alloc] initWithFormat:@"LUCY %i",];
NSString *str4 = [[NSString alloc] initWithUTF8String:"C String"]; //以上方法都有对于的静态方法,也无需释放内存
str2 = [NSString stringWithString:@"STATIC JACK"];
str3 = [NSString stringWithFormat:@"STATIC LUCY %i",];
str4 = [NSString stringWithUTF8String:"C String"];
} int main(int argc, const char * argv[]) {
@autoreleasepool {
//转换成大写
NSLog(@"zhangjianhua 转换成 大写 %@",[@"zhangjianhua" uppercaseString]);
//转换成小写
NSLog(@"ZHANGJIANHUA 转换成 小写 %@",[@"ZHANGJIANHUA" lowercaseString]);
//首字母大写
NSLog(@"zhangjianhua 转换成 小写 %@",[@"zhangjianhua" capitalizedString]);
//比较字符串内容
NSLog(@" ABC isEqualToString Abc to result= %i",[@"ABC" isEqualToString:@"Abc"]);
//比较字符串内容 忽略大小写
NSComparisonResult result2= [@"abc" compare:@"aBc"];//如果是[@"abc" caseInsensitiveCompare:@"aBc"]则忽略大小写比较
if(result2==NSOrderedAscending){
NSLog(@"left<right.");
}else if(result2==NSOrderedDescending){
NSLog(@"left>right.");
}else if(result2==NSOrderedSame){
NSLog(@"left=right.");
}
//查询指定字符串在前缀什么位置
NSLog(@" ABCDEFJ BY CD in location %i",[@"ABCDEFJ" hasPrefix:@"CD"]);
//查询指定字符串在后缀什么位置
NSLog(@" ABCDEFJ BY FJ in location %i",[@"ABCDEFJ" hasSuffix:@"F"]);
//查询指定字符串在什么位置和长度
NSLog(@" ABCDEFJ BY CD in location %@", NSStringFromRange([@"ABCDEFJ" rangeOfString:@"CD"]));
//截取指定字符串位置 根据CGRange对象
NSLog(@"JAVA Subetring TO Result %@",[@"ABCDEFG" substringWithRange:NSMakeRange(, )]);
//截取指定字符串对象 根据下标 从0到了该位置就停止
NSLog(@"SubString String By Index %@",[@"ABCDEFG" substringToIndex:]);
//截取指定字符串对象 根据下标 从位置到结尾停止
NSLog(@"SubString String By Index %@",[@"ABCDEFG" substringFromIndex:]); //字符串分割
NSString *str9 = @"MY NAME IS WP,AGE=28";
NSArray *array = [str9 componentsSeparatedByString:@" "];
NSLog(@"%@",array); //内型转换
//转换成int
NSLog(@"%i",[@"" intValue]);
//转换成C语音字符串
const char *s=[@"abc" UTF8String];//转换为C语言字符串
NSLog(@"%s",s); NSLog(@"%c",[@"abc" characterAtIndex:]);//取出制定位置的字符 }
return ;
}
IOS 学习笔记 2015-03-24 OC-API-不可变字符串的更多相关文章
- IOS学习笔记25—HTTP操作之ASIHTTPRequest
IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...
- iOS学习笔记-精华整理
iOS学习笔记总结整理 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始 ...
- iOS学习笔记总结整理
来源:http://mobile.51cto.com/iphone-386851_all.htm 学习IOS开发这对于一个初学者来说,是一件非常挠头的事情.其实学习IOS开发无外乎平时的积累与总结.下 ...
- iOS学习笔记17-FMDB
上一节我已经介绍了SQLite的简单使用,不了解的可以提前去看一下iOS学习笔记16-数据库SQLite,这节我们来讲下FMDB. 一.FMDB介绍 FMDB是一种第三方的开源库,FMDB就是对SQL ...
- iOS学习笔记17-FMDB你好!
上一节我已经介绍了SQLite的简单使用,不了解的可以提前去看一下iOS学习笔记16-数据库SQLite,这节我们来讲下FMDB. 一.FMDB介绍 FMDB是一种第三方的开源库,FMDB就是对SQL ...
- iOS学习笔记10-UIView动画
上次学习了iOS学习笔记09-核心动画CoreAnimation,这次继续学习动画,上次使用的CoreAnimation很多人感觉使用起来很繁琐,有没有更加方便的动画效果实现呢?答案是有的,那就是UI ...
- iOS学习笔记之ARC内存管理
iOS学习笔记之ARC内存管理 写在前面 ARC(Automatic Reference Counting),自动引用计数,是iOS中采用的一种内存管理方式. 指针变量与对象所有权 指针变量暗含了对其 ...
- iOS学习笔记之UITableViewController&UITableView
iOS学习笔记之UITableViewController&UITableView 写在前面 上个月末到现在一直都在忙实验室的事情,与导师讨论之后,发现目前在实验室完成的工作还不足以写成毕业论 ...
- IOS学习笔记48--一些常见的IOS知识点+面试题
IOS学习笔记48--一些常见的IOS知识点+面试题 1.堆和栈什么区别? 答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制:对于堆来说,释放工作由程序员控制,容易产生memor ...
- iOS学习笔记-自定义过渡动画
代码地址如下:http://www.demodashi.com/demo/11678.html 这篇笔记翻译自raywenderlick网站的过渡动画的一篇文章,原文用的swift,由于考虑到swif ...
随机推荐
- ehcache在windows下使用RMI同步时出现的问题
问题 最近的项目由于OP分配的机器没有配Redis或Mem,为了解决tomcat的集群问题,项目使用了Ehcache作为缓存.Ehcache使用RMI进行同步,但在本地测试时出现了缓存未同步的问题.最 ...
- Configuring Active Directory Federation Services 2.0 (配置 adfs 2.0) -摘自网络
Active Directory Federation Services (AD FS) 2.0 makes it possible to deploy a federation server and ...
- 运用Date日期来做日历
import java.util.*;import java.text.*;class Two { public static void main(String[] args) { ...
- Java异常处理的误区和经验总结
本文着重介绍了 Java 异常选择和使用中的一些误区,希望各位读者能够熟练掌握异常处理的一些注意点和原则,注意总结和归纳.只有处理好了异常,才能提升开发人员的基本素养,提高系统的健壮性,提升用户体验, ...
- eclipse项目出现红色叉叉解决方案
方法一:导入的文件被删除了.解决方法:右击项目名,在弹出的菜单中选择“Bulid Path”-->“configure build path”-->“Source”,找到已被删除的那个文件 ...
- C++中的类访问控制
C++中 public,protected, private 访问标号小结 第一:private, public, protected 访问标号的访问范围. private:只能由1.该类中的函数.2 ...
- 《编程导论(Java)·2.1.3改写(override)》
<编程导论(Java)·2.1.3改写(override)>,收集override内容. 方法改写(method overriding)是指对于父类定义的一个实例方法,同意子类提供自己的实 ...
- java 5 线程池
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Thr ...
- [Javascript] Drawing Styles on HTML5 Canvas
window.onload = function() { var canvas = document.getElementById("canvas"), context = can ...
- open/close table on mysql
http://hidba.org/?p=170 我们知道mysql是一个支持多线程的数据库,尤其在innodb存储引擎出现后,对mysql的事务,并发,锁支持得到了极大提高.在高并发的访问的应用场 ...