random()保存在sqlite数据库中的整数每次都会更改值

时间:2011-01-05 14:16:27

标签: objective-c random

我正在编写一个应用程序,它使用主键在内部sqlite数据库中保存条目,并使用此密钥作为userInfo创建LocalNotification

但是如果我从LocalNotification获取密钥并在数据库中搜索其条目,我什么也没找到。然后我更改了我在Interface中看到密钥的Label,并注意到每个应用程序启动后密钥都在变化。

所以我尝试制作另一个“关键”列并保存

NSInteger *randomNR = (NSInteger*)random() 
进入它。但这个数字每次都在变化!那么我可以复制random()方法的实际数量并将其保存到数据库吗?

1 个答案:

答案 0 :(得分:0)

您未正确地从NSInteger发出random()random(3)会返回long。您不能简单地将长整数投入NSInteger *并获得所需的值。

您可能会将NSInteger与对象混淆。 NSInteger是原始数据类型,不需要需要作为Cocoa类的指针。您可能想要使用:

NSInteger randomNR = (NSInteger) random();
NSInteger *randomNRPtr = &randomNR;    // If you really _do_ want a pointer