大部分是模仿
//
// 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-不可变字符串的更多相关文章

  1. IOS学习笔记25—HTTP操作之ASIHTTPRequest

    IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...

  2. iOS学习笔记-精华整理

    iOS学习笔记总结整理 一.内存管理情况 1- autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象.当用户的代码运行告一段 落,开始 ...

  3. iOS学习笔记总结整理

    来源:http://mobile.51cto.com/iphone-386851_all.htm 学习IOS开发这对于一个初学者来说,是一件非常挠头的事情.其实学习IOS开发无外乎平时的积累与总结.下 ...

  4. iOS学习笔记17-FMDB

    上一节我已经介绍了SQLite的简单使用,不了解的可以提前去看一下iOS学习笔记16-数据库SQLite,这节我们来讲下FMDB. 一.FMDB介绍 FMDB是一种第三方的开源库,FMDB就是对SQL ...

  5. iOS学习笔记17-FMDB你好!

    上一节我已经介绍了SQLite的简单使用,不了解的可以提前去看一下iOS学习笔记16-数据库SQLite,这节我们来讲下FMDB. 一.FMDB介绍 FMDB是一种第三方的开源库,FMDB就是对SQL ...

  6. iOS学习笔记10-UIView动画

    上次学习了iOS学习笔记09-核心动画CoreAnimation,这次继续学习动画,上次使用的CoreAnimation很多人感觉使用起来很繁琐,有没有更加方便的动画效果实现呢?答案是有的,那就是UI ...

  7. iOS学习笔记之ARC内存管理

    iOS学习笔记之ARC内存管理 写在前面 ARC(Automatic Reference Counting),自动引用计数,是iOS中采用的一种内存管理方式. 指针变量与对象所有权 指针变量暗含了对其 ...

  8. iOS学习笔记之UITableViewController&UITableView

    iOS学习笔记之UITableViewController&UITableView 写在前面 上个月末到现在一直都在忙实验室的事情,与导师讨论之后,发现目前在实验室完成的工作还不足以写成毕业论 ...

  9. IOS学习笔记48--一些常见的IOS知识点+面试题

      IOS学习笔记48--一些常见的IOS知识点+面试题   1.堆和栈什么区别? 答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制:对于堆来说,释放工作由程序员控制,容易产生memor ...

  10. iOS学习笔记-自定义过渡动画

    代码地址如下:http://www.demodashi.com/demo/11678.html 这篇笔记翻译自raywenderlick网站的过渡动画的一篇文章,原文用的swift,由于考虑到swif ...

随机推荐

  1. pes and ts stream, how to convert

    http://stackoverflow.com/questions/4145575/transport-stream-mpeg-file-fromat What you are probably w ...

  2. 读FCL源码系列之List<T>---让你知其所以然---内含疑问求大神指点

    序言 在.NET开发中,List<T>是我们经常用到的类型.前段时间看到其他部门小伙伴讨论“两个List(10W个元素)集合求并集,list1.Where(p=>list2.Cont ...

  3. 143. Sort Colors II

    最后更新 一刷 class Solution { public void sortColors2(int[] colors, int k) { // write your code here if ( ...

  4. 2假动作,数据缓冲,CCEaseExponential,CCEaseElastic,CCEaseBounce,CCCallFunc,funcNCallBack,funcNDCallBack,funcO

     1 缓冲动作 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/4 ...

  5. Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面

    Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面.上网问了问百 ...

  6. debian添加新硬盘

      1.查看硬盘设备,找到要添加的硬盘/dev/sdbfdisk -l 2.创建硬盘分区fdisk /dev/sdb进入到fdisk程序 p 命令显示硬盘的分区表信息n 添加新分区 (1) n 添加新 ...

  7. 一个App带你学会Retrofit2.0,麻麻再也不用担心我的网络请求了!

    Retrofit.Retrofit.Retrofit,越来越多的人在玩这个网络请求框架,这个由squareup公司开源的网络请求框架确实挺好用,今天我们就来看一下这个东东怎么玩! Retrofit作为 ...

  8. Android_Component_example

    xml布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...

  9. JavaScript跨域解决办法

    在找到跨域解决办法之前,我们要先弄清楚一些基本概念 什么是跨域? 什么是“同源策略”? 跨文档消息通信 & 跨域请求数据 主域相同而子域不同 不同域名的跨域访问 什么是跨域? 简单地理解就是因 ...

  10. 简单的实现QQ通信功能(三)

    第三部分:登陆界面的设计及代码 一:效果图及界面设计 1. 效果图: 2. 界面设计: (1)仿照QQ的登陆界面,右上角放了三个Label,用来做关闭.最小化和设置,使用了它们的Click事件当做按钮 ...