IOS学习--Foundation常用结构体(代码)

//
//  main.m
//  01--Foundation常用结构体
//
//  Created by LeeWong on 14-10-24.
//  Copyright (c) 2014年 LeeWong. All rights reserved.
//


#import <Foundation/Foundation.h>


int main() {
    
    //可变字符串NSMutableString
    //创建字符串 同NSSting
    NSMutableString *str1 = [[NSMutableString alloc] initWithFormat:@"the age is %d",10];
    NSMutableString *str2 = [[NSString alloc] initWithFormat:@"the age is %d",10];
    NSLog(@"%@%@",str1,str2);
    
    //增加字符串的长度
    [str1 appendString:@"  that means you can not smoke"];
    //减少字符串的长度
    //[str1 deleteCharactersInRange(4,3)];
    NSRange r1 = NSMakeRange(4, 3);//删除age
    [str1 deleteCharactersInRange:r1];
    NSLog(@"%@",str1);
    return 0;
}


void test1()
{
    //字符串NSString
    
    //1、字符串的创建方法
    //1⃣️
    NSString *str1 = @"jack";
    NSLog(@"%@",str1);
    
    //2⃣️
    NSString *str2 = [[NSString alloc] initWithFormat:@"the age is %d",10];
    NSLog(@"%@",str2);
    
    //3⃣️C语言字符串转为Oc字符串
    NSString *str3 = [[NSString alloc] initWithUTF8String:"jack"];
    NSLog(@"%@",str3);
    
    //4⃣️OC字符串转为C字符串
    const char *str4 = [str3 UTF8String];
    NSLog(@"%s",str4);
    
    //⑤读取文件中得字符串
    NSString *str5 = [[NSString alloc] initWithContentsOfFile:@"/Users/LeeWong/Desktop/1.txt" encoding: NSUTF8StringEncoding error:nil];
    NSLog(@"%@",str5);
    
    //6⃣️
    /*
     读取URL资源路径
     //http://weibo.com/a.png 网络资源
     协议头://路径(网络的是http)
     file://本地资源
     ftp://FTP服务器上的
     http://www.baidu.com
     */
    NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/LeeWong/Desktop/1.txt"];
    NSString *str6 = [[NSString alloc] initWithContentsOfURL: url encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"%@",str6);
    //网络资源
    NSURL *url2 = [[NSURL alloc] initWithString:@"http://www.baidu.com"];
    NSString *str7 = [[NSString alloc] initWithContentsOfURL:url2 encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"%@",str7);
    
    //对应的类方法
    NSString *str8 = [NSString stringWithFormat:@"the age is %d",10];
    NSLog(@"%@",str8);
    
    NSURL *str9 = [NSURL URLWithString:@"file:///Users/LeeWong/Desktop/2.txt"];
    NSLog(@"%@",str9);
    NSString *str11 = [NSString stringWithContentsOfURL:str9 encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"%@",str11);
    
    NSString *str10 = [NSString stringWithContentsOfFile:@"/Users/LeeWong/Desktop/2.txt" encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"%@",str10);
    
    NSURL *str12 = [NSURL URLWithString:@"http://wwww.baidu.com"];
    NSString *str13 = [[NSString alloc] initWithContentsOfURL:str12 encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"%@",str13);
    
    
    //把字符串写到文件中
    [@"hi jack this is \n rose" writeToFile:@"/Users/LeeWong/Desktop/2.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
    
    //对应的类方法
    NSString *str14 = @"i love you rose";
    NSURL *str15 = [NSURL fileURLWithPath:@"/Users/LeeWong/Desktop/2.txt"];
    [str14 writeToURL:str15 atomically:YES encoding:NSUTF8StringEncoding error:nil];
    
    
}


void test()
{
    //NSRange的使用
    /*
     typedef struct _NSRange {
     NSUInteger location;//位置
     NSUInteger length;//长度
     } NSRange;
     */
    //找出某个字符串中某个字符的位置
    NSString *str = @"i love you";
    NSRange range = [str rangeOfString:@"love"];
    //若查找的字符穿不存在于源字符串中
    NSRange range2 = [str rangeOfString:@"java"];
    NSLog(@"location = %ld length = %ld",range2.location,range2.length);
    //输出结果为:location = 9223372036854775807 length = 0
    NSLog(@"location = %ld length = %ld",range.location,range.length);
    
    //设置range的方法
    //NSRange R1 = NSMakeRange(2, 3);
    
    
    //2.NSPoint
    /*
     struct CGPoint {
     CGFloat x;
     CGFloat y;
     };
     typedef struct CGPoint CGPoint;
     typedef CGPoint NSPoint;
     
     实际上是表示一个坐标
     */
    //创建方法
    CGPoint p1 = CGPointMake(10, 20);
    CGPoint p2 = NSMakePoint(10, 10);
    
    NSLog(@"x=%f y = %f",p1.x,p2.y);
    
    //3.NSSize\CGSize
    /*
     struct CGSize {
     CGFloat width;//宽度
     CGFloat height;//高度
     };
     typedef struct CGSize CGSize;
     表示 宽度和高度 形容尺寸
     */
    //创建方法
    CGSize s1 = CGSizeMake(10, 10);
    //CGSize s2 = NSMakeSize(10, 10);
    
    NSLog(@"width = %f,height = %f",s1.width,s1.height);
    
    //4.NSRect
    /*
     typedef CGRect NSRect;
     struct CGRect {
     CGPoint origin;
     CGSize size;
     };
     typedef struct CGRect CGRect;
     变量为 前面两个结构体类型的变量 能够表示某一个物体在屏幕上得位置和尺寸
     */
    //创建方法:
    //CGRectMake(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>)
    CGRect c1 = {10, 10, 10, 10};
    //CGRect c2 = {{10, 10}, {10, 10}};
    
    //第二种方法
    CGSize s3 = CGSizeMake(10, 10);
    CGPoint p3 = CGPointMake(10, 10);
    CGRect r3 = {p3,s3};
    
    NSLog(@"x=%f,y=%f,width=%f,height=%f",r3.origin.x,r3.origin.y,r3.size.width,r3.size.height);
    
    //输出方法过于麻烦 新的输出方法
    //思路:将结构体转换为字符串输出
    NSString *str1 = NSStringFromRect(r3);
    NSLog(@"c3的内容为:%@",str1);
    
    NSString *str2 = NSStringFromSize(s3);
    NSLog(@"s3的内容是%@",str2);
    
    NSString *str3 = NSStringFromPoint(p3);
    NSLog(@"p3的内容是:%@",str3);
    
    //零值的设置
    //Point中设置远点
    CGPoint p4 = CGPointZero;
    //CGPoint p4 = CGPointMake(0,0);
    
    CGSize s4 = CGSizeZero;
    //CGSize s4 = CSSizeMake(0,0);
    
    CGRect r4 = CGRectZero;
    //CGRect r4 = CGRectMake()
    
    //特殊函数的使用
    
    //1、判断两个点是否相同
    BOOL same = CGPointEqualToPoint(p3, p4);
    NSLog(@"%d",same);
    
    BOOL same2 = CGSizeEqualToSize(s3, s4);
    NSLog(@"%d",same2);
    
    BOOL same3 = CGRectEqualToRect(r3, r4);
    NSLog(@"%d",same3);
    
    
    //一个NSRect是否包含point 或者 nsrect
    bool same4 = CGRectContainsPoint(r3, p3);
    NSLog(@"%d",same4);
    
    bool same5 = CGRectContainsRect(r3, r4);
    NSLog(@"%d",same5);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值