我知道,當它返回一個對象時,我可以使用object_getClassName獲取respondsToSelector方法的返回類型。但它在返回基本類型如NSInteger時無效。 我的應用程序崩潰了,當我初始化一個錯誤的SEL,返回一個NSInteger.T_T的NSString 現在我只能做什麼是make方法返回一個NSNumber值,當我需要它們時返回原始類型。我必須這樣做嗎?當它返回原始類型時,有一些簡單的方法可以獲得SEL的返回類型嗎?如何在返回基本類型值時獲取respondsToSelector方法的返回類型
0
A
回答
0
使用NSNumber
時出現什麼問題?如果您知道數字的「類型」(即整數,浮點數),則可以撥打-[NSNumber integerValue]
或-[NSNumber floatValue]
以獲取所需的原語。
如果你不知道發生了什麼基本類型會趕回來,你可以使用一個NSNumber
實例的objCType
屬性來獲取包含@encode()
指令C風格的字符串。這些指出了Objective-C數據的編碼方式。有關更多信息,請參閱Type Encoding。
根據您返回的編碼C字符串的類型,您可以根據實際存儲在NSNumber
實例中的任何基本類型進行響應,並使用上述方法檢索正確的值。
相關問題
- 1. 返回基類型或派生類型的方法的捕獲返回值
- 2. System.Void類型如何爲不返回值的方法指定返回值類型?
- 3. 獲取運行時實例方法的返回值類型
- 4. 如何從具有泛型返回類型的方法返回基元?
- 5. 獲取C++中返回值的類型
- 6. 方法返回類型
- 7. Java.Dynamic方法返回類型
- 8. 方法返回類型
- 9. 如何在C++中獲取返回類型的重載方法?
- 10. 如何獲取返回類型double?
- 11. 如何不返回任何返回類型爲int的方法
- 12. 如何在方法中返回動態返回類型? C#
- 13. 如何覆蓋方法返回類型?
- 14. 當返回的值是類型轉換的父類時,類型方法的返回值?
- 15. 如何爲返回類型爲枚舉的方法返回null?
- 16. 返回基於類型
- 17. 獲取泛型方法調用的返回類型AspectJ中
- 18. 如何獲取函數的參數類型和返回類型?
- 19. 泛型作爲方法返回類型
- 20. 從泛型方法返回類型
- 21. 從java方法返回泛型類型
- 22. 在基類中返回抽象類型
- 23. 類返回類型創建方法
- 24. 返回類型的值
- 25. 返回類型
- 26. 返回類型
- 27. 返回類型
- 28. 返回類型
- 29. 不同的返回類型爲基類
- 30. 如何從基類型中聲明的方法返回派生類型
當我使用大量的NSNumber時會導致高內存使用率嗎? – Dogstar
它不應該。如果你擔心,你應該剖析你的代碼,但不要事先假設內存使用情況等。:) – LucasTizma
它確實幫了我很多,謝謝你~~~ – Dogstar