Блок определен как void
. Подумайте, как вы пытаетесь взаимодействовать с блоком. Что вы пытаетесь вернуть из блока? К кому это вернется? Как?
Я думаю, что одно недоразумение, которое вы испытываете, касается асинхронного программирования. Ваш метод - (NSMutableArray*)getTodayData:(NSDate*)today
на самом деле только отправляет запрос . не возвращает массив. Вы отправляете запрос, и запрос выполнит блок после его завершения. Но ваша программа уже вернется из вашего getTodayData:
метода к тому времени, когда будет выполнен блок. Он будет иметь нет возвращаемого значения.
Вместо этого вы хотите использовать делегат . Когда блок выполняется по завершении запроса, вы можете уведомить делегата о том, что ответ теперь хранится где-то - предпочтительно как переменная экземпляра - и теперь готов к доступу.