尝试将NSUInteger分配给字典文字时出错

时间:2014-09-27 08:29:18

标签: objective-c

我有

-(void)saveAsset:(NSUInteger) assetID 
{
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
  NSDictionary *parameters = @{@"asset_id": assetID};

但收到以下错误:

Collection element of type 'NSUInteger' (aka 'unsigned long') is not an Objective-C object

我该如何分配?我试过了:

  NSDictionary *parameters = @{@"asset_id": [assetID integerValue]};

  NSDictionary *parameters = @{@"asset_id": (id)assetID};

但他们都没有工作。

THX

1 个答案:

答案 0 :(得分:9)

@(assetID)

或(旧语法):

[NSNumber numberWithInteger:assetID]

您尝试分配简单值(如int,char等),而期望类型是obj-c对象(如NSNumber)。

顺便说一下。 NSInteger是目标依赖类型,因此它将是32位或64位整数,具体取决于目标cpu。