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 ...
随机推荐
- 教程-Delphi源代码--后延函数
说明: 1)TTtimer控件 TTtimer控件的实质是调用WindowsAPI定时函数SetTimer和KillTimer来实现的,并简化了对WM_TIMER消息的处理过程.通过设置OnTimer ...
- A Tour of Go For continued
As in C or Java, you can leave the pre and post statements empty. package main import "fmt" ...
- Delphi- 内置数据库的使用例子BDE
以前开发时经常使用一些大型的数据库,像这样小的数据库还是前段时间才看到.看看Delphi怎么使用内置的数据库, 先在BDE里拉两个数据库控件.DataBase和Table,然后再拉两个数据库控件Dat ...
- 判断jsp中是否存在某个javascript函数
//判断父页是否存在某个javascript函数 function fnExist(fnName) { //return fnName in this && eval(fnName) ...
- HDU - 1693 Eat the Trees(多回路插头DP)
题目大意:要求你将全部非障碍格子都走一遍,形成回路(能够多回路),问有多少种方法 解题思路: 參考基于连通性状态压缩的动态规划问题 - 陈丹琦 下面为代码 #include<cstdio> ...
- careercup-递归和动态规划 9.4
9.4 编写一个方法,返回某集合的所有子集. 类似leetcode:Subsets 解法: 解决这个问题之前,我们先要对时间和空间复杂度有个合理的评估.一个集合会有多少子集?我们可以这么计算,生成了一 ...
- Android 读取手机短信
获取android手机短信需要在AndroidManifest.xml加权限: <uses-permission android:name="android.permission.RE ...
- Servlet中的请求包含
public class SrcIncludeServlet extends HttpServlet { public void doGet(HttpServletRequest request, H ...
- struts----通配符设置
本次学习的内容是struts通配符配置: 具体内容为: 一.准备工作 1.新建Web工程 2.添加struts:右键点击工程名选择My Eclipse-->点击add struts..--> ...
- Scala函数字面量简化写法
Scala提供了多种方法来简化函数字面量中多余的部分,比如前面例子中filter方法中使用的函数字面量,完整的写法如下: (x :Int ) => x +1 首先可以省略到参数的类型,Scala ...