我有
-(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
答案 0 :(得分:9)
@(assetID)
或(旧语法):
[NSNumber numberWithInteger:assetID]
您尝试分配简单值(如int,char等),而期望类型是obj-c对象(如NSNumber)。
顺便说一下。 NSInteger是目标依赖类型,因此它将是32位或64位整数,具体取决于目标cpu。