快速枚举包含不同类型对象的数组

发布于 2024-08-01 19:58:03 字数 379 浏览 5 评论 0原文

如果我有一个 NSMutableArray,我在其中添加了不同类的对象(例如 NSString、NSMutableString、NSProcessInfo、NSURL、NSMutableDictionary 等)。 现在我想快速枚举这个数组,所以我尝试了:

for (id *element in mutableArray){
   NSLog (@"Class Name: %@", [element class]);
   //do something else
}

我在 Xcode 中收到一条警告,说

warning: invalid receiver type "id*"

我怎样才能避免这个警告?

If I have an NSMutableArray where I added objects of different classes (e.g. NSString, NSMutableString, NSProcessInfo, NSURL, NSMutableDictionary etc.) Now I want to fast enumerate this array, so I tried:

for (id *element in mutableArray){
   NSLog (@"Class Name: %@", [element class]);
   //do something else
}

I am getting a warning in Xcode saying

warning: invalid receiver type "id*"

How can I avoid this warning?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

坠似风落 2024-08-08 19:58:03

代码几乎是正确的。 当您使用 id 时,它已经隐含为一个指针,因此您应该将其写为:

for (id element in mutableArray){
   NSLog (@"Class Name: %@", [element class]);
   //do something else
}

The code is almost correct. When you use id, it's already implied to be a pointer, so you should write it as:

for (id element in mutableArray){
   NSLog (@"Class Name: %@", [element class]);
   //do something else
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文