Во-первых, позвольте мне предварить это, сказав, что если вы звоните retainCount
, вы, вероятно, делаете что-то не так.Этот метод должен использоваться только людьми, пишущими низкоуровневый код инфраструктуры, и даже тогда только при отладке.Объекты могут быть задержаны и автоматически освобождены за вашей спиной, так что вызов -retainCount
очень вводит в заблуждение.
В любом случае, я подозреваю, что ответом является то, что [[NSString alloc] init]
возвращает одноэлементный объект.Он неизменный и пустой, поэтому на самом деле нет причин, по которым он должен создать для вас совершенно новую строку, когда он может просто вернуть @""
.