В Ruby у нас есть символы для использования для ключа хэшей. Я пытаюсь перенести библиотеку Ruby в Objective-C, а в библиотеке есть хэш, в котором используются символы в виде ключей. Есть ли аналогичная душа для Objective-C? Или я должен использовать NSString
?Objective-C Эквивалент символов Ruby
ответ
NSDictionary
ключей в Objective-C обычно NSString
s. Вероятно, это путь сюда.
Вам не нужно беспокоиться о строковых литералах Ruby и символах; просто создайте NSString
со строковым значением для ключа или используйте строку @"my key name"
, если требуется.
Ответ @benalpert - лучший ответ. Использование символа является идиоматическим в Ruby, потому что они неизменяемы и создаются только один раз. В Objective-C указатель const на строку является эквивалентом, который вы хотите использовать. –
Я видел заявления, как
extern NSString *const NSKeyValueChangeNewKey = @"NSKeyValueChangeNewKey";
, так что вы можете использовать его в качестве ключа:
[dict objectForKey:NSKeyValueChangeNewKey];
Для объяснения, что это немного более подробно, см Constants in Objective-C.
- 1. ObjectiveC блокирует эквивалент Java
- 2. Есть ли эквивалент Python для символов Ruby?
- 3. Ruby эквивалент metovlass Groovy.method_name
- 4. Что такое Ruby-эквивалент preg_quote()?
- 5. Ruby-эквивалент PHP openssl_seal
- 6. Python эквивалент Ruby, соксифицировать
- 7. ruby эквивалент c-буфера
- 8. Эквивалент cURL для Ruby?
- 9. Ruby file_get_contents эквивалент
- 10. Ruby Эквивалент ASP.NETs Application_Start?
- 11. Ruby Эквивалент Python «_»
- 12. charCodeAt() эквивалент в Ruby
- 13. C# эквивалент символа Ruby
- 14. Ruby эквивалент ReadString?
- 15. Ruby-эквивалент LINQ ToList()
- 16. Ruby Эквивалент C++ Const?
- 17. Ruby эквивалент C# string.Format
- 18. Ruby эквивалент ActiveRecord 'где'
- 19. Ruby-эквивалент Python setattr()
- 20. Python эквивалент Perl/Ruby, || =
- 21. Pygame эквивалент Ruby?
- 22. Быстродействующий эквивалент «доходности» Ruby
- 23. Эквивалент подпроцесса.Popen() в Ruby?
- 24. Ruby эквивалент func_get_args()
- 25. Эквивалент «continue» в Ruby
- 26. Ruby эквивалент PHP $ this
- 27. fromCharCode эквивалент в Ruby
- 28. String.equalsIgnoreCase (...) эквивалент в Ruby
- 29. Ruby - эквивалент foreach
- 30. Ruby эквивалент оператору JavaScript `||`
Objective-C - это супер-набор C, поэтому вы можете использовать константы '# define' для достижения аналогичного результата. – Sahand
вызовите to_s на всех символах, и у вас есть строки, доступные для использования в качестве ваших ключей (символы являются изменяемыми строками) – bjhaid
Я, m, говорим о символах в Objective-C, а не Ruby. – Linuxios