我正在为我的iOS应用程序设计有关协议的设计问题。现在我了解了用法,当需要协议时,我也明白它们类似于C#和Java中的接口。
您可以通过协议本身调用方法吗?例如,在C#中我可以执行以下操作:
public interface IInterface
{
void SomeMethod();
void SomeOtherMethod();
}
public class AClass : IInterface
{
public void SomeMethod()
{
//Do something
}
public void SomeOtherMethod()
{
//Do something
}
}
public class Program
{
public void Main()
{
IInterface i = new AClass();
i.SomeMethod();
}
}
在Objective-C中这是可能的还是我试图强制.NET风格的方法进入iOS?
答案 0 :(得分:4)
@protocol Protocol
- (void)someFunction;
@end
@interface A <Protocol>
@end
@implementation A
- (void) someFunction
{
....
}
@end
在其他地方
id<Protocol> a = [[A alloc] init];
[a someFunction];
[a release];