Полностью разрешено использовать CLLocation
в качестве ключей для словаря, с этим проблем нет.Причина, по которой вы получаете nil
, заключается в том, что никакое значение не связано с ключом, проверьте, где вы заполняете словарь.
О ваших кратных CLLocation
ключах, каждый раз, когда вы устанавливаете объект для ключа, который уже существует в словаре, предыдущему значению будет отправлено сообщение release
, и новое займет его место.Поэтому, если у вас есть несколько мест для хранения, и некоторые из них равны, вы должны найти другой тип в качестве ключа для словаря.