Как передать внешнее свойство UIButton - PullRequest
0 голосов
/ 27 февраля 2012

Я новичок в разработке для iOS. Теперь я хочу дать внешнее свойство (похожее на тег) UIButton. Это возможно? Если это возможно, как это сделать?

Если кто-нибудь знает, пожалуйста, помогите мне.

Ответы [ 3 ]

1 голос
/ 27 февраля 2012

Вы можете использовать NSArray, а индекс массива - это тег UIButton.

0 голосов
/ 27 февраля 2012

Подкласс UIButton, при условии, что вы хотите NSString в вашей кнопке:

.h

@interface MyAttributedButton : UIButton {
   NSString *myExternalProperty;
 }

@property(nonatomic, retain) NSString *myExternalProperty;
@end

.m

@implementation MyAttributedButton
@synthesize myExternalProperty;
@end
0 голосов
/ 27 февраля 2012

Вы можете создать подкласс UIButton или использовать ассоциации времени выполнения Obj-C, подобные этой

#import <objc/runtime.h>

static char kMyExtendedPropKey;
objc_setAssociatedObject(myButton,
                         &kMyExtendedPropKey,
                         yourObjectToAssociate,
                         OBJC_ASSOCIATION_RETAIN);

Обратите внимание, что ассоциации могут использоваться вместе с категориями для добавления новых свойств в существующие классы!Но используйте с осторожностью, подклассификация является предпочтительным способом .

...