ARC IBOutlet тип хранения iOS ограничения

Я знаю, что с Xcode сейчас рекомендуется использовать ARC, однако я читал немного о том, что он несовместим с iOS 4.x, по крайней мере, при использовании __weak, Когда я создаю IBOutlet в качестве типа хранилища он выбирает " слабый" или " сильный ", означает ли это, что мое приложение ограничено iOS 5 или более поздней версией или все еще будет работать на более старой iOS?

3 ответа

Решение

Определенно просто используйте ARC. Как вы отмечаете, если вы решите обеспечить совместимость с iOS 4.3, вам не понравится эта маленькая функция weak переменные, где они будут автоматически nilдля вас, когда они освобождены (но у вас нет этой функции в не-ARC-коде, так что вы ничего не теряете). И, да, когда вы управляете-drag из Interface Builder в файл.h, он говорит, что у вас есть только strong а также weak варианты, но в последнем Xcode, по крайней мере, если у вас iOS 4.3 в качестве цели, и вы выбираете weak, он автоматически создаст его для вас как __unsafe_unretainedтак что все хорошо.

Короче говоря, используйте ARC, даже если вы нацелены на поддержку iOS 4.3, и ваша жизнь в коде будет значительно лучше, чем если бы вы не использовали ARC. Даже в iOS 4.3 вы получаете так много замечательных преимуществ ARC. И если вы хотите использовать iOS 5.0 в качестве целевого развертывания, тогда вы сможете воспользоваться всеми преимуществами ARC.

Если вы используете Xcode 4.5, вы, по общему признанию, теряете поддержку armv6, процессора для iPhone 3G и более ранних версий, поэтому ваше приложение будет поддерживать только iPhone 3GS и более поздние версии.

Нет, ARC - это просто функция компилятора. Это для каждого файла, так что это никак не повлияет на ваш существующий код.

Поддержка версии iOS зависит от вашей версии XCode.

С последней версией Xcode (4.5) вы можете создавать приложения для iOS 4.3 и выше. Если вам нужно создавать приложения для более ранних версий iOS (до 4.3), вам нужно установить Xcode 4.4.1.

Другие вопросы по тегам