此外,还有NSNumber、NSValue、NSData等封装类型,有NSDictionary、NSArray、NSSet等集合数据类型,有CGRect/NSRect、CGPoint/NSPoint、CGSize...)type; //解封 - (void)getValue:(void *)value; //此外还提供了对基本的尺寸范围相关的封装和解封 + (NSValue *)valueWithPoint:(NSPoint...NSPoint point = NSPointFromCGPoint(CGPointMake(0, 0)); // NSDictionary *dic = @{@"point" : point}; /...1.2.6 尺寸、范围相关的类型 Object-C中有CGRect/NSRect、CGPoint/NSPoint、CGSize/NSSize等尺寸相关的,其实CG开头的和NS开头的都是一个东西,都是struct...就是CGPoint typedef CGPoint NSPoint; /* Sizes. */ struct CGSize { CGFloat width; CGFloat height
包括如下: NSPoint、NSSize、NSRect 01 NSPoint 点数据类型由一个 x 和 y 值组成。例如,用点来定义直线,指定矩形的起点,指定弧的角度等等。...有 2 种方法可以定义 NSPoint: var p1=NSMakePoint(1,2); log(p1) var p2=NSPointFromString('{20,30}'); log(p2) 打印出来看下...CGPoint { x = 1, y = 2 } CGPoint { x = 20, y = 30 } NSPoint 其实就是 CGPoint 。
NSPoint和CGPoint CGPoint和NSPoint是同义的 CGPoint代表的是二维平面中的一个点 CGPoint有2个成员 CGFloat x:表示该矩形原点的横坐标位置 CGFloat...y:表示该矩形原点的纵坐标位置 typedef CGPoint NSPoint; // CGPoint的定义 struct CGPoint { CGFloat x; CGFloat y; };...将结构体包装成NSValue对象 + (NSValue *)valueWithPoint:(NSPoint)point; + (NSValue *)valueWithSize:(NSSize)size;...*value = [NSValue valueWithPoint:point]; NSArray *arr = @[value]; NSLog(@"%@", arr); 输出结果: ( "NSPoint...: {10, 20}" ) 从NSValue对象取出之前包装的结构体 - (NSPoint)pointValue; - (NSSize)sizeValue; - (NSRect)rectValue; 示例
CGPointMake(10,20); NSValue *value = [NSValue valueWithCGPoint:point]; NSLog(@"%@",value);//NSPoint
NSRectPointer)rect tableColumn:(nullable NSTableColumn *)tableColumn row:(NSInteger)row mouseLocation:(NSPoint...void)tableView:(NSTableView *)tableView draggingSession:(NSDraggingSession *)session willBeginAtPoint:(NSPoint...(void)tableView:(NSTableView *)tableView draggingSession:(NSDraggingSession *)session endedAtPoint:(NSPoint...NSRect)rect; //获取某个范围内的行 - (NSRange)rowsInRect:(NSRect)rect; //获取包含某个点的列 - (NSInteger)columnAtPoint:(NSPoint...)point; //获取包含某个点的行 - (NSInteger)rowAtPoint:(NSPoint)point; //获取某个cell的位置尺寸 - (NSRect)frameOfCellAtColumn
range.location = 12,range.length=13) 1.2)使用聚合机制(range={4,5}) 1.3)使用快捷函数(range=NSMakeRange(4,5)) 2.几何数据类型 有NSPoint
通过KVO监听可以确定,系统的确有修改: po change { kind = 1, new = NSPoint: {414, -20}, } 并且修改的时机为: ?
withFont:(nullable NSFont*)font; - (BOOL)popUpMenuPositioningItem:(nullable NSMenuItem *)item atLocation:(NSPoint
常用的结构体有NSRange、NSPoint、NSSize、NSRect等 // // main.m // FoundationFramework // // Created by Kenshin..."rg2 is %@", NSStringFromRange(rg2));//注意不能直接NSLog(@"rg2 is %@", rg2),因为rg2不是对象(准确的说%@是指针)而是结构体 } /*NSPoint...表示一个点*/ void test2(){ NSPoint p=NSMakePoint(10, 15);//NSPoint其实就是CGPoint //这种方式比较常见 NSPoint p2...:(NSSize)size; +(NSValue *)valueWithRect:(NSRect)rect; 对应的拆箱方法: -(NSPoint)pointValue; -(NSSize)sizeValue...*array1=[NSArray arrayWithObject:value1];//放倒数组中 NSLog(@"%@",array1); /*结果: ( "NSPoint
其他的,如官网中的Table 5-1 Wrapping and Unwrapping Structures 包装和解包结构体类型 如NSPoint的valueWithPoint: 包装结构体;pointValue
unsignedLongLong unsigned short numberWithUnsignedShort: unsignedShort 表1 NSNunber NSValue: 数据类型 包装方法 拆装方法 NSPoint
领取专属 10元无门槛券
手把手带您无忧上云