Подкласс Uibutton - это настоящая боль. Обычно они работают не так, как ожидалось, поскольку UIButton - абстрактный класс. Поэтому, чтобы сделать полностью работающую кнопку, вам, возможно, придется переопределить несколько методов, чтобы заставить кнопку делать все, что делают подклассы Apple. Вместо этого, если вам просто нужно добавить хранилище, вы можете использовать ассоциативные ссылки . Вы должны #import <objc/runtime.h>
использовать функции.
Лучший способ сделать это - определить строковую константу NSString *const buttonTagName = @"com.youapp.buttonTag";
и сохранить теги с этим ключом objc_setAssociatedObject(button, buttonTagName, tagForCurrentButton, OBJC_ASSOCIATION_RETAIN);
.