[英]Get JSON Object from JSON Response in Swift
[英]Get value from JSON response Object
我正在發出JSON請求,並希望從其中一個字段獲取int值。
{
"currentPage": 1,
"numberOfPages": 5,
"totalResults": 234,
"data": [],
"status": "success"
}
我想獲取numberOfPages的值。 我的代碼如下
_pages = [responseObject objectForKey:@"numberOfPages"];
_numberOfPages = (int)_pages;
NSLog(@"%d", _numberOfPages);
而不是numberOfPages的值,NSLog是150198512。有人可以解釋為什么嗎? 嘗試索引0處的對象將使其崩潰。
_pages
應該是您定義中的NSNumber
。 您不能將其強制轉換為獲取原始類型,而必須請求原始類型。 _numberOfPages
應該是NSInteger
(或者可能是NSUInteger
),並且您應該使用以下方法獲取值:
_numberOfPages = [_pages integerValue];
另外:考慮使用self.pages
和self.numberOfPages
而不是直接訪問實例變量(這可能會在將來幫助您進行維護)。
使用self.pages
到調用結果pages
(或self.pages = xxx
在調用setPages:xxx
)方法來獲取(或設置)的實例變量(內容_pages
)。 因此,如果您具有該方法的自定義實現,它將被調用,並且您的自定義邏輯將運行。 如果僅使用_pages
,則不會調用它,如果需要進行更改,則以后需要進行大量編輯。
最好的選擇是,每當要更新屬性時都使用self.XXX = xxx
而要使用它時則使用XXX xxx = self.xxx
。
這不是一個硬性規定。 這里有趣的討論 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.