Я только начал разрабатывать приложения для платформы iOS, и я использую веб-службы Azure для доступа к удаленной базе данных. Я вызывал метод readWithCompletion:
в таблице, чтобы попробовать и прочитать все данные в моей базе данных с сервера.Почему я не могу установить значение свойства как аргумент items для блока завершения readWithCompletion?
В блоке завершения вызова метода я зарегистрировал аргумент items
на консоли и мои данные успешно сходят. Я пробовал это NSMutableArray *stops = [items mutableCopy]
, чтобы получить данные за пределами блока завершения, но stops
равен нулю, если он выходит за рамки блока завершения.
Что я здесь делаю неправильно?
[self.table readWithCompletion:^(NSArray *items, NSInteger totalCount, NSError *error) {
self.stops = [items mutableCopy];
}];
Звуки, как если бы readWithCompletion асинхронный метод, следовательно, ваш блок будет называться после того, как встроенный метод уже вышел из сферы действия. Независимо от того, что вам нужно после выполнения этого блока, можно было бы красиво завернуть в новый метод, который вызывается прямо из этого блока. – Till
Вы используете ARC? Является ли свойство 'stops' объявленным как' strong' или 'keep'? – Tricertops