Оба этого объявления
protocol SomeProtocol : AnyObject {
}
и это объявление
protocol SomeProtocol : class {
}
похоже, делает это так, что только классы могут соответствовать этому протоколу (то есть, что экземпляры протокола являются ссылками на объекты) и не имеют других эффектов.
Есть ли разница между ними? Должен ли быть предпочтительнее другого? Если нет, то почему есть два способа сделать одно и то же?
Я использую последний выпущенный Xcode 6.3.1.