id 和void *
2021-02-18 本文已影响0人
KB_MORE
1. 指针类型
- id是指向Objective-C对象的指针。
- void *是任何东西的指针(无类型指针)。是“对带有未类型化/未知内容的随机块内存的引用
”您可以使用void *代替id,但不建议使用它,因为您永远都不会收到任何编译器警告。
2.方法调用
void * 类型的变量根本不能成为方法调用的目标。结果是编译器发出“警告:无效的接收器类型'void *'。
![](https://img.haomeiwen.com/i6526232/8d41b248ba28a8f6.png)
3.作为返回值
-
如果方法的返回类型为id,则可以返回任何Objective-C对象。
-
void 意味着,该方法将不会返回任何内容。
-
void *只是一个指针。您将无法在指针指向的地址上编辑内容。