开发者社区> 问答> 正文

ios 中protocol的问题,有点不是太明白,请教下。

在一个User类中我定义了

@protocol User

//+$2+
//-$2-

@end
在别的类中我就可以这样写

NSMutableArray *users;
这是什么原理?没有反倒资料啊。 还有个问题,不知道哪位大神是永RPC协议的

展开
收起
a123456678 2016-07-20 15:03:42 1755 0
1 条回答
写回答
取消 提交回答
  • 因为Objective-C不像C或者Java那样有一份严格的语言标准定义,所以只能根据实际现象认为:这种声明变量的语法是合法的,但是实际使用中没有任何意义。这种语法就是声明一个类是遵循某种协议的语法,只不过我们通常是这样用的:

    id user;

    你这里把id换成了NSMutableArray *,在语法上是合法的,也就是说编译器不会抱怨,但实际运行中,没有任何意义。users数组仍然可以接受任何对象,编译时不会产生警告,运行时也不会产生异常。这跟C++中的模版是两回事,虽然看起来有点像。

    2019-07-17 19:58:54
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载