iOS 我想把一个int数和一个float指针数组存到userdefault 有什么思路吗?
例子:
float *squareVertexData;
int faceNum;
squareVertexData = (float *)malloc(mian.size()*8*sizeof(float));
faceNum = 122;
for(int i=0;i<100;i++)
{
squareVertexData = i*0.14;
}
//结构体
struct pointInfo
{
float *squareVertexData;
int faceNum;
};
//给结构体赋值
pointInfo pro = {squareVertexData,faceNum};
//结构体转NSValue
NSValue *value = [NSValue valueWithBytes:&pro objCType:@encode(pointInfo)];
上述代码中,squareVertexData和faceNum就是我想要存放在userdefault的数据,原想的方法是把他俩放在结构体内再存到NSvalue进行保存,但是这样的话不知道为什么提示内容为空,而userdefault不能保存空的内容,请问,该怎么做?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
squareVertexData = i*0.14; 这句不会报错吗?
两种方法:
一、 直接存储
二、
这个报错是字典不能存放基本类型。你可以用NSString或NSNumber 来保存.
写一个类 把数组本身(不是指针) 放到成员
然后实现NSCoding, 或使用NSKeyedArchiver
ios中的字典数组这些是只能存对象进去的,基础的数据类型或者nil不允许存,会报错;你可以把他们转成对象在存进去,可以使用NSNumber,如果不满足就使用NSValue
不需要这么复杂吧
这样可以嘛