2014-09-27 29 views
1

錯誤時嘗試指派NSUInteger到字典字面

-(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

閱讀關於'NSDictionary'值可以是什麼類型的文檔的文檔。 – zaph 2014-09-27 09:31:19

回答

6
@(assetID) 

或(在舊的語法):

[NSNumber numberWithInteger:assetID] 

您試圖分配簡單值(如int,焦炭等),而預期的類型是OBJ-C對象(如NSNumber)。

Btw。 NSInteger是目標依賴類型,因此它將是32位或64位整數,具體取決於目標CPU。