第一讲:Foudation-常用结构体
#import<Foudation/Foudation.h>
void test(){
//NSRange 是从第几个开始然后打印几个
/*
typedef struct _NSRange{
NSUInteger location;
NSUInteger length;
}NSRange;
location 代表从第几个字符开始 (从0数字符)
length 代表从开始说的有几个字符,例如 what is it ? location 3 length 4
则打印 t is
因为NSUInteger 是无返回函数 则使用%zi打印。
*/
//常用方法NSmakerange
NSRange test=NSMakeRange (2,10);
NSLog(@"location:%zi",test.localtion);
NSLog(@"length:%zi",test.length);
//将结构体转化为字符串打印,%@打印的是oc对象,oc对象是需要传入指针的*
NSString *te = NSStringFromRange(test);
NSLog(@"test struct is %@",te);
//取字符串的所占的值
Nsstring *str = @“i love oc”;
NsRange range =[str rangeofstring :@"love"];
Nslog(@"%ld,%ld",range.localtion,range.length)
void point{
//NSPoint 点 x y 二维坐标 与CGPoint 等价
/*struct CGPoint{
CGFload x,
CGFload y,
};
typedf struct CGPoint CGPoint;
*/CGPoint 和 NsPoint 相同
NSPoint p =NSMakePoint (10,15); //与CGpoint P = CGPointmake (10,15);表示意义相同,后者常用
NSString *point = NSStringFromPoint(p);
NSLog (@"point:%@",point);
}
void size {
//NSSize 点 width height 宽和高 与CGSize 等价
/*struct CGPoint{
CGFload x,
CGFload y,
};
typedf struct CGSize CGSize;
NSPoint Size =NSMakeSize (10,15);
NSString *si = NSStringFromSize(Size);
NSLog (@"Size:%@",si);
}
void Rect{
//NSRect 即存储位置(x,y)也存储尺寸(width,height )
NSPoint Rect =NSMakeRect (10,15);
NSString *Re= NSStringFromRect(Rect);
NSLog (@"Rect:%@",Re);
NSLog (@"Size:%@",si);
}
};
int main(int argc,const,char *argv[]){
@artoreleasepool{
test();
p();
}
}
则打印出来为
location:2
length:10
test struct is {2,10}
即Foudation 常见结构体方法 NSRange {location,length} location是从第几个字符串打印,打印了length 个字符
NSPtion (x,y) 是标识 位置 使用的 NSSize (CGSize) (width,height) 标识尺寸
NSRect 包括位置和尺寸的 结构体