在foundation/NSRange.h中对NSRange的定义
typedef struct _NSRange{
NSUInteger location;
NSUInteger length;
}NSRange;
//typedef usigned long NSUInteger;
这个结构体用来表示事物的一个范围,通常是字符串里的字符范围或者集合里的元素范围。
location 表示该范围的起始位置
length表示该范围内所含的元素个数
比如“I Love Objective-c”中的"obj"可以用location为7,length为3的范围来表示。
// // main.m // foundation 框架结构体 // // Created by 裴烨烽 on 14-1-28. // Copyright (c) 2014年 裴烨烽. All rights reserved. // #import <Foundation/Foundation.h> void test() { //定义了date这种结构体类型 struct Date{ int year; int month; int day; }; struct Date d={2013,4,5}; d.day=6; } void test1() { typedef struct Date{ int year; int month; int day; }MyDate; // MyDate d={2013,4,5}; } void test5() {NSRange range=NSMakeRange(8, 10); NSLog(@"location:%zi",range.location); NSLog(@"location:%zi",range.length); NSString *str= NSStringFromRange(range); NSLog(@"%@",str); } void point(){ NSPoint p; p.x=10; p.y=10; NSString *str=NSStringFromPoint(p); NSLog(@"%@",str); // p=NSMakePoint(10, 9); // NSString *str=NSStringFromSize(size); // NSLog(@"%@",str); } void size(){ NSSize size; size.width=100; size.height=900; size=NSMakeSize(90, 80); size=CGSizeMake(900, 10); NSString *str=NSStringFromSize(size); NSLog(@"%@",str); } void rect(){ NSRect rect;//CGRect rect; rect.origin.x=10; rect.origin.y=11; rect.size.width=100; rect.size.height=90; rect=NSMakeRect(10, 10, 80, 80); rect=CGRectMake(10, 10, 90, 10); NSString *str=NSStringFromRect(rect); NSLog(@"%@",str); } int main(int argc, const char * argv[]) { @autoreleasepool { // test5(); //point(); // size(); rect(); } return 0; }