Несколько вещей об этом коде ...
Во-первых, сбивает с толку, какой объект вы на самом деле устанавливаете в качестве делегата. Вызов соединения: didReceiveData: будет вызываться для делегата соединения, которым является любой объект, который вы передали в свой метод connect: obj:. Кажется странным, что у вас есть метод экземпляра в ConnectionCenter, который может запустить соединение с другим объектом ConnectionCenter в качестве делегата. Убедитесь, что вы смотрите на соединение: didReceiveData: метод на нужном объекте.
Если вы не получаете никаких данных, возможно, ваше соединение либо не удалось подключиться, либо просто завершилось без возврата каких-либо данных. Вам следует реализовать методы connectionDidFinishLoading: и connection: didFailWithError: делегировать, чтобы вы знали, завершилось ли соединение с возвратом данных или без них.
Наконец, у вас есть состояние гонки, которое вас укусит, если вы получите хорошее и быстрое соединение. Объект NSURLConnection запустится, как только вы его создадите. Если есть какие-либо данные для чтения, они вызовут соединение: didReceiveData: и вы добавите их к полученным данным. Но если соединение достаточно быстрое, вы можете в конечном итоге попытаться добавить данные к полученным данным, которые еще не были созданы. Это небольшой шанс, но даже несмотря на то, что метод init NSURLConnection не блокируется, неразумно делать какие-либо предположения о том, сколько он проделывает, чтобы установить соединение, прежде чем вернуться. Создайте ReceiveData перед началом подключения, чтобы вы могли быть уверены, что у вас есть место для размещения данных при их поступлении.