Вам нужно лучше понять, что такое указатель, а что нет в Cocoa Framework.
Фактически вы определяете userJson для NSDictionary, а не NSDictionary *. Учтите, что все объекты в Какао являются указателями. Фактически проверьте, что [NSDictionary objectForKey:] возвращает «id», а затем вы должны использовать NSDictionary *. Используя просто NSDictionary, вы будете ссылаться на класс.
Аналогичная ошибка была сделана позже в приведении к (NSInteger *), но NSInteger (NSInteger не является объектом, это базовый тип, который колеблется от long или int (зависит от архитектуры платформы), как вы можете видеть из его определения:
#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
#else
typedef int NSInteger;
#endif
А также из определения объекта выше видно, что ключ, который вы пытаетесь получить, сбрасывается в виде строки, и вы пытаетесь получить словарь. Пожалуйста, проверьте оригинальный JSON, который, вероятно, не в том формате, который вы ожидаете.
Таким образом, в конце у вас будет как минимум 3 ошибки, которые приведут к падению вашего приложения.