//
// main.m
// OC语言学习
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
/*
数组只能存储对象,不能存储像 int 这样的基本数据类型。
为了解决这个问题,需要使用 NSNumber 对象数组,而不是 int 数组。
*/
//NSValue
//可以将结构转化为对象,并把它存储在集合中。
//结构如:CGPoint、CGRect、CGSize
//以下代码采用CGPoint结构,将它加入到可变数组touchPoints中:
CGPoint myPoint;
NSValue *pointObj;
NSMutableArray *touchPoints = [NSMutableArray array];
myPoint.x = 100;
myPoint.y = 200;
pointObj = [NSValue valueWithPoint:myPoint]; //转成对象
[touchPoints addObject:pointObj]; //加入数组
//如果希望从数组touchPoints中取出最后一个点并将它转化成CGPoint
myPoint = [[touchPoints lastObject] pointValue];
}
return 0;
}
NSValue可以将结构转化为对象,并把它存储在集合中。
最新推荐文章于 2020-09-17 11:39:49 发布
本文介绍Objective-C语言中如何使用NSValue来存储CGPoint等结构类型,实现结构数据在NSArray中的存储和检索。通过实例展示了CGPoint转化为NSValue对象并存入NSMutableArray的过程。
1万+

被折叠的 条评论
为什么被折叠?



