Вы выполняете сравнение указателей там, поэтому, если оба цвета - зеленый, но разные экземпляры UIColor, это не удастся. И это потому, что свойство backgroundColor в UIView является свойством копирования.
@property(nonatomic, copy) UIColor *backgroundColor
Я немного удивлен, что это такая запутанная вещь, но для проверки равенства попробуйте следующее:
CGColorEqualToColor([templabel.backgroundColor CGColor], [[UIColor greenColor] CGColor])
Это проверка равенства значения цвета, а не просто сравнение указателя. Также не забудьте сделать [str compare:otherString] == NSOrderSame
при проверке строк!