ARC Сильное свойство Ошибка перечисления - PullRequest
24 голосов
/ 23 января 2012

У меня есть следующий код, и я получаю эту ошибку перед компиляцией:

Переменные быстрого перечисления нельзя изменить в ARC по умолчанию, объявите переменную _strong, чтобы разрешить это

for (NSString *name in array){
        @try {
            S3ObjectController *localS3 = [[S3ObjectController alloc]init];
            name = localS3.stringProperty;
}

В этом S3ObjectController классе у меня объявлено свойство следующим образом:

@property (nonatomic, strong)  NSString *stringProperty;

Как мне поменять собственность? Я думал, что я объявил это сильным?

1 Ответ

57 голосов
/ 23 января 2012

Это означает объявить переменную быстрого перечисления сильной, а не переменную вашего экземпляра:

for (NSString __strong *name in array) {
    @try {
        S3ObjectController *localS3 = [[S3ObjectController alloc]init];
        name = localS3.stringProperty;
    }
}
...