黑马程序员——Foundation框架:结构体及字符串之NSString
来源:互联网 发布:servlet使用json 编辑:程序博客网 时间:2024/05/16 07:14
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、结构体
#import <Foundation/Foundation.h>int main(){/* NSRange(location length) NSPoint\CGPoint NSSize\CGSize NSRect\CGRect (CGPint CGSize) */ // 使用这些CGPointEqualToPoint、CGRectContainsPoint等函数的前提是添加CoreGraphics框架 // // NextStep Foundation // 比较两个点是否相同(x、y) BOOL b = CGPointEqualToPoint(CGPointMake(10, 10), CGPointMake(10, 10)); //CGRectEqualToRect(<#CGRect rect1#>, <#CGRect rect2#>) //CGSizeEqualToSize(<#CGSize size1#>, <#CGSize size2#>) // x (50, 150) y (40 , 90) BOOL b2 = CGRectContainsPoint(CGRectMake(50, 40, 100, 50), CGPointMake(60, 45)); NSLog(@"%d", b2); return 0;}void point(){ CGPoint p1 = NSMakePoint(10, 10); NSPoint p2 = CGPointMake(20, 20);// 最常用 NSSize s1 = CGSizeMake(100, 50); NSSize s2 = NSMakeSize(100, 50); CGSize s3 = NSMakeSize(200, 60); CGRect r1 = CGRectMake(0, 0, 100, 50); CGRect r2 = { {0, 0}, {100, 90}}; CGRect r3 = {p1, s2}; // 使用CGPointZero等的前提是添加CoreGraphics框架 CGRect r4 = {CGPointZero, CGSizeMake(100, 90)}; // CGSizeZero // CGRectZero // 表示原点 // CGPointZero == CGPointMake(0, 0) // 将结构体转为字符串 //NSString *str = NSStringFromPoint(p1); //NSString *str = NSStringFromSize(s3); NSString *str = NSStringFromRect(r1); NSLog(@"%@", str); // NSLog(@"x=%f, y=%f, width=%f, height=%f", r1.origin.x, r1.origin.y, r1.size.width, r1.size.height);}//CGRect myRect(CGFloat x, CGFloat y, CGFloat width, CGFloat height)//{// CGRect rect;// rect.origin.x = x;// rect.origin.y = y;// rect.size.width = width;// rect.size.height = height;// // return rect;//}void range(){ // @"i love oc" // love的范围 //NSRange r1 = {2, 4}; // 不用 //NSRange r2 = {.location = 2, .length = 4};// 不用 //NSRange r3 = NSMakeRange(2, 4); // 掌握 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);}
总结:Foundation框架中的结构体主要包含:NSRange、NSPoint/CGPoint、NSSize/CGSize、NSRect/CGRect。
1.NSString
#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 *)#>]; */}
区别:NSString创建的字符串是不可改变的,而NSMutableString创建的字符串是可以改变的。
0 0
- 黑马程序员——Foundation框架:结构体及字符串之NSString
- 黑马程序员—Foundation框架之NSString
- 黑马程序员—Foundation框架之NSMutableString及NSString的其它用法
- 黑马程序员——Foundation框架——常用结构体以及NSString相关
- 黑马程序员——Foundation框架之结构体、字符串和集合
- 黑马程序员——foundation框架之结构体
- 黑马程序员——Foundation框架之结构体
- 黑马程序员----OC Foundation框架--结构体、NSString
- 黑马程序员-Foundation框架之NSString
- 黑马程序员-----Foundation框架学习之NSString
- Foundation框架—结构体、NSString
- 黑马程序员——iOS——Foundation框架——字符串NSString
- 黑马程序员——iOS——Foundation框架——字符串NSString
- 黑马程序员——Foundation框架:字符串之集合类
- 黑马程序员——Foundation框架——NSString
- 【黑马程序员】OC-Foundation框架—NSString和NSRange
- 【黑马程序员】Foundation框架NSString
- 黑马程序员——IOS基础——Foundation框架——结构体、字符串、数组
- Ubuntu配置和修改IP地址
- 剑指offer-30 最小的K个数
- Hdoj 1433 Simply Syntax 【string】
- inno setup制作安装软件防止重复安装源代码
- 课堂作业
- 黑马程序员——Foundation框架:结构体及字符串之NSString
- Linux 信号signal处理机制
- 最优规则式 XDU1024
- web_reg_find函数
- Android控件之自动匹配输入内容AutoCompleteTextView
- cocos2dx 3.0 无法解析的外部符号 __imp__curl_easy_setopt,
- 安卓开发小练手之手机卫士开发(1)——Splash界面
- Java_语法基础_成员变量的默认值
- 架构设计文档提纲简描