我有
-(void)saveAsset:(NSUInteger) assetID
{
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"asset_id": assetID};
Run Code Online (Sandbox Code Playgroud)
但是得到以下错误:
Collection element of type 'NSUInteger' (aka 'unsigned long') is not an Objective-C object
Run Code Online (Sandbox Code Playgroud)
我怎么指定这个?我试过了:
NSDictionary *parameters = @{@"asset_id": [assetID integerValue]};
Run Code Online (Sandbox Code Playgroud)
和
NSDictionary *parameters = @{@"asset_id": (id)assetID};
Run Code Online (Sandbox Code Playgroud)
但他们都没有工作.
谢谢
@(assetID)
Run Code Online (Sandbox Code Playgroud)
或(旧语法):
[NSNumber numberWithInteger:assetID]
Run Code Online (Sandbox Code Playgroud)
您尝试分配简单值(如int,char等),而期望类型是obj-c对象(如NSNumber).
顺便说一句.NSInteger是目标依赖类型,因此它将是32位或64位整数,具体取决于目标cpu.