1

これは私が実装している機能で

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

私の実装では、次を使用して文字列を作成していますFolderId

NSString *dbScript = [NSString stringWithFormat:@"Delete from Folders Where FolderId = %d",FolderId];

しかし、 FolderId を取得していません。フォルダー ID の代わりに、非常に長い整数値を取得しています。ポインタ参照かもしれません。

フォルダIDの取得方法を教えてください。私は何か間違ったことをしていますか?

4

2 に答える 2

3

このようにしてみてください:-

NSInteger a=20;
NSLog(@"yourInteger=%ld",(long)a);
于 2013-10-30T09:12:49.717 に答える
3

NSIntegerintlonglong longまたは他の何かに定義されているかどうかを決して知ることができないという意味で、移植可能な型ではありません。その%dため、専用の変換指定子は のint出力には適していませんNSInteger。より正確には、その使用は未定義の動作を引き起こします。明示的な型キャストを行う必要があります。

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

(long long可能な限り長い標準整数型であるため、使用しました。)

于 2013-10-30T08:31:58.240 に答える