NSRange:NSMakeRange】的更多相关文章

NSRange:NSMakeRange(6, cardNo.length - 10) [cardNo stringByReplacingCharactersInRange:NSMakeRange(6, cardNo.length - 10) withString:@"*"]; 蓝色文件夹 XCode工程里,左侧的树形图中,有时会出现蓝色文件夹. 黄色是虚拟文件目录,蓝色的是真实的. 每次编译,黄色的文件会自动重新编译,但是蓝色的不会. 所以,蓝色文件的内容发生更改,需要重新编译时,需要…
一.CoreText的简介 CoreText是用于处理文字和字体的底层技术.它直接和Core Graphics(又被称为Quartz)打交道.Quartz是一个2D图形渲染引擎,能够处理OSX和iOS中图形显示问题.Quartz能够直接处理字体(font)和字形(glyphs),将文字渲染到界面上,它是基础库中唯一能够处理字形的模块.因此CoreText为了排版,需要将显示的文字内容.位置.字体.字形直接传递给Quartz.与其他UI组件相比,由于CoreText直接和Quartz来交互,所以它…
iOS8之前我们使用UISearchDisplayController做TableView的本地搜索,查看UIKit库,苹果已经使用新控件取代它. NS_CLASS_DEPRECATED_IOS(3_0, 8_0, "UISearchDisplayController has been replaced with UISearchController") __TVOS_PROHIBITED 使用UISearchDisplayController的时候,搜索结果的展示tableView系…
NSArray是用来存储对象的有序列表(NSSet是没有顺序的),它是不可变的.NSArray不能存储C语言中的基本数据类型,如int\float\enum\struct等,也不能存储nil.其用法如下: #pragma mark 创建一个数组 void arrayCreate() { // 创建一个空的数组 NSArray *array = [NSArray array]; // 创建有1个元素的数组 array = [NSArray arrayWithObject:"]; // 创建有多个元…
NSString是不可变的,不能删除字符或修改字符,它有一个子类NSMutableString,为可变字符串. NSMutableString的两种创建方法: - (id) initWithCapacity:(NSUInteger)capacity + (id) stringWithCapacity:(NSUInteger)capacity capacity只是一个最优值,字符串的大小并不限于所提供的容量,设置了capacity,可以预分配一块内存来存储它,操作速度会快很多,也可以使用创建NSS…
Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变量的值.NSString字符串的导出.NSString的常用方法等5个部分. 1.NSString的创建: #pragma mark NSString的创建 void stringCreate() { // char *s = "A String!"; // C语言中的字符串 // 这种方…
在Foundation中定义了很多常用结构体类型来简化我们的日常开发,这些结构体完全采用Objective-C定义,和我们自己定义的结构体没有任何区别,之所以由框架为我们提供完全是为了简化我们的开发.常用的结构体有NSRange.NSPoint.NSSize.NSRect等. 先复习下结构体的两种定义方式: void test() { // 定义了Date这种结构体类型 struct Date { int year; int month; int day; }; // 定义结构体变量 , , }…
数组.字典.集合 参考1   参考2  参考3  参考4  参考5 NSArray * nn  = @[@"元素1",@"元素2",@"元素3"]; NSUInteger i = [nn indexOfObject:@"元素1" inRange:NSMakeRange(0, 3)]; NSLog(@"在给定范围内查找给定字符串所在的下标,如果有的话就返回第一个查找到的元素下标%lu --",i); //NS…
1.NSRange: typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange; NSRange本身是系统自定义的一个结构体的变量名:这个结构体用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围:location表示该范围的起始位置,length表示该范围内所含的元素个数:比如”I love objective-c”中的”obj”可以用location为7,length为3的范围来表示…
NSRange的定义 { NSUInteger location; NSUInteger length; } NSRange; NSRange是一个结构体,其中location是一个以0为开始的index,length是表示对象的长度.他们都是NSUInteger类型. 而NSUInteger类型的定义如下: #if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_…
今天写的都比较简单,偶尔偷一下懒,猪真的很懒啊~   - (void)viewDidLoad { [super viewDidLoad]; //抽取指定范围的字符串 NSString *string1 = @"0123456789"; NSRange range1 = NSMakeRange(0, 4);//NSMakeRange这个函数的作用是从第0位开始计算,长度为4 NSLog(@"从第0个字符开始,长度为4的字符串是:%@",[string1 substri…
NSRange的定义 typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange; NSRange是一个结构体,其中location是一个以0为开始的index,length是表示对象的长度.他们都是NSUInteger类型. 而NSUInteger类型的定义如下: #if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WI…
Xcode很强大,但是有些封闭,官方并没有提供Xcode插件开发的文档.喵神的教程比较全,也比较适合入门.本文的教程只是作为我在开发FKConsole的过程中的总结,并不会很全面. FKConsole是我开发的一个用于在Xcode控制台显示中文的插件,很小,很简单.这个插件开发的初衷是因为一个朋友有这种需求,而又没有找到相应的插件.如果不使用插件,就要在工程中嵌入文件,他并不乐意.所以FKConsole在设计上只会去修改Xcode控制台内的文字显示,绝不会去修改你的文件,这点大家可以放心. 模板…
并发指的是在同一时间运行多个任务.在单核CPU的情况下,它通过分时的方式实现,如果有多个CPU可用,则是真正意义上的多个任务“并行”执行了. OS X和iOS提供了多个API支持并发编程.每个API都有自己特殊的功能和限制,适用于完成不同的任务.它们也分布在不同的抽象层次,我们可以通过底层API去做些非常接近硬件的底层操作,但这样的话,我们也需要做更多的事去保证一切运行正常. 并发编程是件非常棘手的事,有着许多复杂的问题和陷阱,而且在使用像GCD或NSOperationQueue这样的API时我…
NSRange的定义 typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange; NSRange是一个结构体,其中location是一个以0为开始的index,length是表示对象的长度.他们都是NSUInteger类型. 而NSUInteger类型的定义如下: #if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WI…
一.一个具体的例子引发的问题 当今是国际化的时代,多种语言可能同时显示在屏幕上.比如一个人可能喜欢听华语歌.英文歌.韩文歌和日语歌,又比如他的联系人中有中国人.英国人.日本人.韩国人以及有英文名字的中国人. 在这种情况下,他的手机上需要维护一个列表,每一项可能是中文.韩文.英文和日文.在许多情况下需要对这个列表进行维护,那么如何对这些表项进行排序呢?为了解决这个问题,至少要回答以下几个问题: 中文.韩文.英文.日文的顺序是怎样的呢?那个语种在前面呢? 同一个语种内部如何排序呢?比如中文,是按照汉…
GCD的使用: 1.队列的类型      1.1 主队列:mian queue,主线程队列,负责更行UI的操作.是一个串行的队列.      1.2 系统默认的并行队列:global queue,按优先级分类.      1.3 自定义的队列:可以创建串行队列或者是并行的队列   2.任务      2.1 封装的形式:block方法或C语言的函数      2.2 添加到队列的方式:同步或异步(只对并行队列有区别)          例如服务器请求:          同步:提交请求->等待服…
NSOperation具体使用:直接继承NSObject 它的子类有:NSBlockOperation.NSInvocationOperation 还有一个必须的类,队列,用来装创建的线程 NSOperationQueue   理解:这个方式是如何实现多线程呢?是通过操作队列来实现多线程的.即主线程是一个主队列,再创建一个队列并将其他的线程加入其中同步执行.如果对共享资源的争夺放在主线程队列中,则不需要关心线程管理,数据同步的事情,可以把精力放在自己需要执行的操作上:否则的话,仍需要关心数据同步…
NSThread具体使用:直接继承NSObject NSThread:. 优点:NSThread 是轻量级的,使用简单 缺点:需要自己管理线程的生命周期.线程同步.线程同步对数据的加锁会有一定的系统开销   1.属性            @property (readonly, retain) NSMutableDictionary *threadDictionary;  //线程字典            @property double threadPriority;          …
一.NSRange 1.NSRange的介绍 NSRange是Foundation框架中比较常用的结构体, 它的定义如下: typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange; NSRange用来表示事物的一个范围,通常是字符串里的字符范围或者数组里的元素范围 NSRange有2个成员 NSUInteger location : 表示该范围的起始位置 NSUInteger length : 表示该…
Objective-C中判断字符串是否包含其他字符串 -(BOOL) hasPrefix:(NSString *) astring;检查字符串是否以astring开头:-(BOOL) hasSuffix:(NSString *) astring;检查字符串是否以astring结尾:使用方式:NSString *filename=@"hello,world";if([filename hasPrefix:@"hello"]){...}if([filename hasS…
http://www.cnblogs.com/pengyingh/articles/2451292.html 当谈到NSString方法时,你会发现很多都涉及到NSRange.不必操心.它事实上仅仅只是是一种C语言结构用来帮助描写叙述一系列的条款,包含一个起点位置和一个计数方法.比如.一个行列通过从还有一个字符串中摘取一个子字符串的方法是非常有效的.你能够对其指定起始位置以及所需的元素数量(以下会向你详细阐述). NSRange 定义 关于NSRange的结构.定义例如以下: typedef s…
  typedef NSRange *NSRangePointer; NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len) {    NSRange r;    r.location = loc;    r.length = len;    return r;}NSMakeRange是一个结构体类型,包含两个参数,位置和长度.表示字符串要传进来从哪里开始的位置和需要的长度. substringWithRange需要传进来NSR…
前言 结构体,这个结构体用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围. typedef struct _NSRange { NSUInteger location; // 表示该范围的起始位置 NSUInteger length; // 表示该范围内所含的元素个数 } NSRange; typedef unsigned long NSUInteger; 1.NSRange 结构体变量的创建与调用 // NSRange 结构体变量的创建与赋值 // 先定义变量,再赋值 NS…
int main(int argc, const char * argv[]) {    @autoreleasepool {        // insert code here...        // 第一种赋值的方式        NSRange rg1={3,5};//结构体                // 第二种赋值的方式        NSRange rg2;        rg2.location=3;        rg2.length=5;                …
本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结. 1. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加容易.在OS X系统下有100多个框架,这些框架可以用来开发应用程序. 2. Foundation框架介绍 Foundation框架是一个由上百个函数和类所构成的集合,它为Cocoa应用程序定义了一个基本功能层.不仅如此,Foundation框架还提供了一些范例,定义了一致性的约定,包括内存管理及对…
NSString *pattern = @"(?<=<td class=\"bigblod\">).*?(?=</td>)"; 2. 3. NSString *pattern1 = @"<img src=\"http://www.weather.com.cn/m2/i/icon_weather/50x36/.*?gif\">"; 4. 5. NSURL *URL = [NSURL UR…
前言 结构体,这个结构体用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围. typedef struct _NSRange { NSUInteger location; // 表示该范围的起始位置 NSUInteger length; // 表示该范围内所含的元素个数 } NSRange; typedef unsigned long NSUInteger; 1.NSRange 结构体变量的创建与调用 // NSRange 结构体变量的创建与赋值 // 先定义变量,再赋值 NS…
本文介绍了UITextView对中英文还有iOS自带表情输入的字数限制,由于中文输入会有联想导致字数限制不准确所以苦恼好久,所以参考一些大神的博客终于搞定,欢迎大家参考和指正. 对于限制UITextView输入的字符数.相信大家在网上见得最多的是实现UITextViewDelegate - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *…
[原]AFNetworking源码阅读(五) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇中提及到了Multipart Request的构建方法- [AFHTTPRequestSerializer multipartFormRequestWithMethod:URLString:parameters:constructingBodyWithBlock:error:],不过并没有深入研究,部分函数也只是简单地一笔带过.所以本篇文章从此入手,一方面把Multip…