在 C# 中,我可以编写 using 语句,例如:
using (SqlConnection connection = new SqlConnection("connectionString"))
{
...
}
这确保了连接对象一旦超出范围就会被释放。我想知道是否有办法在objective-c中做到这一点。我基本上有一个保持多个套接字打开的连接池,而不是每次使用它时都需要打开和关闭一个连接,我可以进入我的连接池,获取一个打开的连接(或者如果需要创建一个新的连接),然后完成后将连接释放回池中。我的 Objective-c 代码目前看起来像这样:
MyConnection * connection = [ConnectionPool ConnectionWithDetails: @"host/server/port/etc"];
[connection doSomething];
[ConnectionPool ReleaseConnection: connection];
因此,如果由于某种原因ReleaseConnection
没有被调用,则连接只是悬空(它最终会被释放,但它不会回到我的池中)。
基本上,我正在寻找一种可以消除调用要求的方法ReleaseConnection
。我一直在做一些研究,但到目前为止我已经干了。