Для сравнения строк используйте [name isEqualToString:service.name]
Использование ==
сравнит, чтобы увидеть, указывают ли оба указателя на один и тот же объект, а не если они указывают на объекты с одинаковым содержимым. Даже если оба указателя содержат одну и ту же строку, это не означает, что они указывают на один и тот же объект.
Если два человека имеют одинаковую машину и имеют один и тот же ключ для разблокировки, оба ключа не равны и не открывают обе машины; каждый откроет только ту машину, для которой он был сделан. Если у одного человека есть машина, но у него есть дополнительный ключ, они равны, потому что они открывают ту же машину (объект). Вы можете думать об указателях таким образом.