Ох, глобальные переменные — зло. Я бы либо вообще всё это в класс запихнул, либо бы сделал gView локальной статической переменной в `InstallBadgeView ()`, а `InstallBadgeView ()` изменил бы на что-то вроде
```
LCBadgeView* GetBadgeView ()
{
    static LCBadgeView *result = nullptr;
    if (!result)
    {
         // initialize
    }
    return result;
}
```