Можно создать дубликат:
objective c difference between id and void *В чем разница между void * и id?
Например, UIView анимации метод делегата обратного вызова имеет этот аргумент:
context:(void*)context
Почему не просто идентификатор? Я всегда передаю ноль, если мне не нужен контекст. Но когда я хочу его, я передаю объект. Какая разница? Почему они предпочитают void * over id?
Отличный вопрос, но это уже было задано. Хорошая новость заключается в том, что она уже исправлена: http://stackoverflow.com/questions/1304176/objective-c-difference-between-id-and-void/1304277#1304277 –