В C# я могу написать оператор, например:
using (SqlConnection connection = new SqlConnection("connectionString"))
{
...
}
Это гарантирует, что объект подключения утилизируется, как только он вышел из строя. Мне интересно, есть ли способ сделать это в Objective-C. У меня в основном есть пул соединений, который удерживает несколько гнезда открытыми, вместо того, чтобы открывать и закрывать соединение каждый раз, когда я использую его, я могу окунуться в свой пул соединений, взять открытое соединение (или создавать новое, если это необходимо), тогда Отпустите соединение обратно в бассейн, как только я закончу с ним. Мой код объективного C в настоящее время выглядит примерно так:
MyConnection * connection = [ConnectionPool ConnectionWithDetails: @"host/server/port/etc"];
[connection doSomething];
[ConnectionPool ReleaseConnection: connection];
Итак, если по какой -то причине, ReleaseConnection
Не вызывается, соединение просто свисает (в конечном итоге оно будет освобождено, но оно не вернется в мой бассейн).
По сути, я ищу способ, чтобы устранить требование для вызова ReleaseConnection
. Анкет Я проводил некоторые исследования, но до сих пор я высыхал.