//
// 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);
}
IOS学习--Foundation常用结构体(代码)
最新推荐文章于 2024-08-05 15:37:03 发布