Что произойдет, если я слабо связываю все фреймворки в своем приложении? - PullRequest
2 голосов
/ 03 августа 2011

Что произойдет, если я слабо свяжу все фреймворки в моем приложении?Может ли случиться что-то плохое?

Ответы [ 3 ]

2 голосов
/ 03 августа 2011

Это не очень хорошая идея. Хотя технически ничего плохого не произойдет, слабое связывание позволяет писать код, который может привести к сбою. Слабое связывание говорит компилятору, что ваша программа должна продолжать работать, даже если части библиотеки не поддерживаются. Если у вас нет слабой ссылки, наличие неподдерживаемого вызова метода или объекта приведет к сбою приложения. Если вы это сделаете, приложение будет работать, пока вы не попытаетесь получить доступ к плохому символу. Таким образом, не слабое связывание всего дает вам дополнительное преимущество в том, что вам не нужно отлаживать непонятные случаи.

Не слабые ссылки - это то, что вы не теряете, а не то, что вы получаете - если только вам не нужна обратная совместимость. Затем история меняется.

Проверьте эту документацию для получения дополнительной информации.

0 голосов
/ 03 августа 2011

Перемещение библиотеки на слабую поможет вам обработать (старые) устройства, на которых эта библиотека недоступна, а затем разрешит запуск вашего приложения.

Тогда перемещения библиотеки на слабую недостаточно, потому что выОбязательно нужно тщательно обрабатывать код, который использует эту библиотеку, как объяснено в документации SDK , иначе ваше приложение будет аварийно завершать работу, когда библиотека будет использоваться (если не поддерживается).

Надеюсь, это поможет.

0 голосов
/ 03 августа 2011

@ timesking:

Зачем это нужно?

Я полагаю, что приложение будет пытаться запускаться, даже если некоторые из требуемых платформ отсутствуют в конкретной версии iOS, а затем завершится сбоем.

Надеюсь, это поможет вам.

...