黑马程序员-OC笔记(八) Foundation 结构体 NSString

来源:互联网 发布:莫烦python 编辑:程序博客网 时间:2024/05/01 08:59

一、 结构体


NSRange(location length)

NSPoint\CGPoint 表示位置,点  NSPoint == CGPoint CGPoint可以跨平台,所以常用CGPoint

NSSize\CGSize 表示尺寸 NSSize == CGSize

NSRect\CGRect (CGPoint,CGSize) NSRect == CGRect

 

<span style="font-size:18px;">#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);}</span>



二、NSString



<span style="font-size:18px;">#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 *)#>];          */}</span>




0 0
原创粉丝点击