@SirDubstep A melhor forma de se fazer o que você quer é pelo próprio método que você mesmo apresentou, porem um pouco quanto diferente, segue o exemplo da melhor maneira de se fazer e veja se atende suas necessidades.
Se não funcionar, você está fazendo a implementação dessa função de forma inadequada.
Pelo que da para perceber você tentou colocar essa função como propriedade de função do UIWidget e no caso ela não é uma função que atrela aos widgets