黑马程序员——foundation框架之结构体
2014-06-19 03:48
323 查看
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
前两天学校期末考试,所以没怎么看视频,今天终于有时间 了,于是迫不及待的看了关于foundation框架的视频。
首先讲的时NSRange
其实功能很简单,就是查找字符串的位置。
NSRange的定义
typedef struct _NSRange
{
unsigned int location;
unsigned int length;
}NSRange;
NSMakeRange函数
--这个函数比较特殊 返回一个NSRange的对象。
NSMakeRanger(unsigned int location,unsigned int length);
例如:
NSRange range = NSMakeRanger(0,5);
NSLog(@"location is %d,length is %d",range.location,range.length);
如果想知道一个字符在字符串中的位置就可以使用rangeOfString方法
CGpoint/NSpoint
这个类的主要作用就是在开发中确定坐标
定义一个点的坐标有两种方式
里面有两个参数x,y分别表示x坐标和y坐标。
CGSize/NSSize
这个类的作用就是定义UI控件的大小
里面也有两个参数,表示长宽
定义和NSpoint一样
NSRect/CGRect
这个类其实就是CGpoint/NSpoint与CGSize/NSSize的组合
它的参数有4个,分别是x坐标y坐标,以及长宽。
表示的就是控件的位置和大小。
还有就是如果想使用上面的类必须要导入CoreGraphics框架才行。
CGSizeZero表示原点 == CGpoint(0,0);
将结构体转换为字符串
CGPointEqualToPoint
同样也可以比较控件的大小是否一样或者是位置大小都是否一样
CGRectContainsPoint
NSString以及子类NSMutableString
一个是不可变字符串一个是可变字符串
MJ老师的代码很清晰的体现了NSString和NSMutableString
接下来就是NSMutableString
基本上关于NSString的内容就没了
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
前两天学校期末考试,所以没怎么看视频,今天终于有时间 了,于是迫不及待的看了关于foundation框架的视频。
首先讲的时NSRange
其实功能很简单,就是查找字符串的位置。
NSRange的定义
typedef struct _NSRange
{
unsigned int location;
unsigned int length;
}NSRange;
NSMakeRange函数
--这个函数比较特殊 返回一个NSRange的对象。
NSMakeRanger(unsigned int location,unsigned int length);
例如:
NSRange range = NSMakeRanger(0,5);
NSLog(@"location is %d,length is %d",range.location,range.length);
如果想知道一个字符在字符串中的位置就可以使用rangeOfString方法
NSString *str = @"i love oc"; // 查找某个字符串在str中的范围 // 如果找不到,length=0,location=NSNotFound==-1 NSRange range = [str rangeOfString:@"java"]; NSLog(@"loc = %ld, length=%ld", range.location, range.length);
CGpoint/NSpoint
这个类的主要作用就是在开发中确定坐标
定义一个点的坐标有两种方式
里面有两个参数x,y分别表示x坐标和y坐标。
CGpoint p1 = NSMakePoint(10,10); NSpoint p2 = CGMakePoint(10,10);//这个是最常用的
CGSize/NSSize
这个类的作用就是定义UI控件的大小
里面也有两个参数,表示长宽
定义和NSpoint一样
NSSize s2 = NSMakeSize(100, 50); CGSize s3 = NSMakeSize(200, 60);
NSRect/CGRect
这个类其实就是CGpoint/NSpoint与CGSize/NSSize的组合
它的参数有4个,分别是x坐标y坐标,以及长宽。
表示的就是控件的位置和大小。
CGPoint p1 = NSMakePoint(10, 10); NSSize s2 = NSMakeSize(100, 50); CGRect r1 = CGRectMake(0, 0, 100, 50); CGRect r2 = { {0, 0}, {100, 90}}; CGRect r3 = {p1, s2};
还有就是如果想使用上面的类必须要导入CoreGraphics框架才行。
CGSizeZero表示原点 == CGpoint(0,0);
将结构体转换为字符串
NSString *str = NSStringFromPoint(p1); NSString *str = NSStringFromSize(s3);比较两个点是否是相同的点
CGPointEqualToPoint
BOOL b = CGPointEqualToPoint(CGPointMake(10, 10), CGPointMake(10, 10));
同样也可以比较控件的大小是否一样或者是位置大小都是否一样
CGRectEqualToRect(<CGRect rect1>, <CGRect rect2>) CGSizeEqualToSize(<CGSize size1>, <CGSize size2>)判断这个点是否在这个范围内
CGRectContainsPoint
BOOL b2 = CGRectContainsPoint(CGRectMake(50, 40, 100, 50), CGPointMake(60, 45));
NSString以及子类NSMutableString
一个是不可变字符串一个是可变字符串
MJ老师的代码很清晰的体现了NSString和NSMutableString
#import <Foundation/Foundation.h> /* NSString : 不可变字符串 NSMutableString : 可变字符串 */ int main() { NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"]; // 拼接内容到s1的后面 [s1 appendString:@" 11 12"]; // 获取is的范围 NSRange range = [s1 rangeOfString:@"is"]; [s1 deleteCharactersInRange:range]; NSString *s2 = [NSString stringWithFormat:@"age is 10"]; NSString *s3 = [s2 stringByAppendingString:@" 11 12"]; NSLog(@"s1=%@, s2=%@", s1, s2); return 0; } void stringExport() { // 字符串的导出 [@"Jack\nJack" writeToFile:@"/Users/apple/Desktop/my.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil]; NSString *str = @"4234234"; NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/my2.txt"]; [str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil]; } void stringCreate() { /* 1.字符串的创建 */ NSString *s1 = @"jack"; //NSString *s2 = [[NSString alloc] initWithString:@"jack"]; NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d", 10]; // C字符串 --> OC字符串 NSString *s4 = [[NSString alloc] initWithUTF8String:"jack"]; // OC字符串 --> C字符串 const char *cs = [s4 UTF8String]; // NSUTF8StringEncoding 用到中文就可以用这种编码 NSString *s5 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil]; // URL : 资源路径 // 协议头://路径 // file:// // ftp:// // http://weibo.com/a.png // http://www.baidu.com // NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/apple/Desktop/1.txt"]; NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt"]; NSString *s6 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; NSLog(@"s6=\n%@", s6); /* 一般都会有一个类方法跟对象方法配对 [NSURL URLWithString:<(NSString *)>]; [NSString stringWithFormat:@""]; [NSString stringWithContentsOfFile:<(NSString *)> encoding:<(NSStringEncoding)> error:<(NSError *__autoreleasing *)>]; */ }上面是NSSting的一些方法
接下来就是NSMutableString
NSMutableString *s1 = [NSMutableString stringWithFormat:@"something"]; [s1 appendString:@""];//拼接字符串 [s1 deleteCharactersInRange:NSMakeRange(4,2)];
基本上关于NSString的内容就没了
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员——Foundation框架——常用结构体以及NSString相关
- 黑马程序员——OC基础---Foundation框架之结构体
- 黑马程序员——Foundation框架之结构体
- 黑马程序员-OC语言-Foundation框架中的常用结构体
- 黑马程序员——Foundation框架——常用结构体
- 黑马程序员_Foundation框架02_NSString
- 黑马程序员-IOS-OC基础-Foundation框架的简单使用
- iOS Foundation框架简介 -1.常用结构体的用法和输出
- iOS Foundation框架 -1.常用结构体的用法和输出
- Windows Driver Foundation - KMDF 内核模式驱动框架结构 第五部分
- 黑马程序员-Foundation框架-NSArray
- 黑马程序员_Foundation框架03_集合类
- Windows Driver Foundation - KMDF 内核模式驱动框架结构 第四部分
- 黑马程序员_OC_FOUNDATION框架总结
- 黑马程序员__foundation框架中的结构体
- 黑马程序员_OC之Foundation框架
- 黑马程序员_OC学习之Foundation框架1
- 黑马程序员_字符串和框架结构
- Windows Driver Foundation - KMDF 内核模式驱动框架结构 第三部分
- 黑马程序员_Foundation框架