Protocol是Swift中一种定义方法、属性和其他需求的蓝图。它只定义方法、属性等的名称和类型,但不提供具体的实现。类、结构体或枚举可以遵循(adopt)一个协议,并提供具体的实现来满足协议的要求。通过协议,我们可以为不同类型的对象定义一组共同的行为和属性,从而实现代码的复用和灵活性。Protocol在Swift中被广泛应用,可以用于实现委托(Delegate)、类型转换、扩展(Extension)等功能。