从NSInteger获取整数值

时间:2013-10-30 08:25:49

标签: objective-c nsinteger

这是我正在实施的功能

-(NSString *)DeleteFolder:(NSInteger)FolderId;

在我的实现中,我使用FolderId

创建字符串
NSString *dbScript = [NSString stringWithFormat:@"Delete from Folders Where FolderId = %d",FolderId];

但我没有得到FolderId,而不是文件夹ID我得到一个很长的整数值。可能是指针引用。

请告诉我如何获取文件夹ID。我做错了吗?

2 个答案:

答案 0 :(得分:3)

NSInteger在某种意义上不是便携式类型,您永远无法知道它是否已定义为intlonglong long或其他内容。因此,%d转换说明符专门用于int,不适合打印NSInteger。更确切地说,它的使用将导致未定义的行为。您需要进行明确的类型转换:

NSLog(@"Folder ID: %lld", (long long)FolderID);

(我使用long long因为那是最长的标准整数类型。)

答案 1 :(得分:3)

试试这样: -

NSInteger a=20;
NSLog(@"yourInteger=%ld",(long)a);