(type) obj сообщает коду, что у вас есть объект "obj" и он имеет тип "type"
(type *) obj сообщает коду, что у вас есть указатель на объект "obj" и он имеет тип "type"
Примеры:
(int) n означает, что я даю вам целое число, называемое n
(float) n означает, что я даю вам float под названием n
(NSObject *) obj означает, что я даю вам указатель на NSObject с именем obj
Non-Примеры:
(int n) или (float n) или (NSObject * obj) - все бессмыслица