Использовать синтаксис "[]" для доступа к контейнерам в XCode 4.4, кажется, не работает
Кто-нибудь пробовал новый синтаксис Sugar, представленный в Xcode 4.4 (iOS 5.1), например, автоматические вызовы @synthesize или Literal Syntax for NSArray? Они довольно удобны.
Но я не могу сделать это правильно для этого, "используйте '[]' синтаксис для доступа". Я попытался следовать, и они не работали. Что я сделал не так? Благодарю.
NSArray *tmp = @[@"hello",@"world"]; //This one works fine
NSString *i = tmp[0]; // or tmp[@0]; this one does not work.
1 ответ
Решение
Вы используете две разные функции там. Ваша первая строка (tmp = @[@"hello",@"world"]
) являются литералами. Это должно работать в Xcode 4.4.
Вторая строка (i = tmp[0]
) нуждается в поддержке во время выполнения (есть несколько дополнительных методов, необходимых для его работы) и поэтому не будет работать в iOS 5 и ниже. Смотрите этот ответ для более подробной информации.