ОК, новичок в блоках ... но я нашел еще один пример блока перечислителя группы активов, и в объявлении не было struct
.Я попытался удалить его из кода выше, и он все еще работает нормально и не имеет сообщения об ошибке.Надеюсь, кто-то, кто понимает лучше struct
, может объяснить?
попробуйте изменить эту строку:
void (^assetGroupEnumerator)(struct ALAssetsGroup *, BOOL *)
= ^(ALAssetsGroup *group, BOOL *stop)
на эту:
void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *)
= ^(ALAssetsGroup *group, BOOL *stop)
Я думаю, что нижняя строкаALAssetsLibrary enumerateGroupsWithTypes: usingBlock:
ожидает, что блок будет выглядеть как (ALAssetsGroup *, BOOL *)
, а не (struct ALAssetsGroup *, BOOL *)
.