當我實例化這個按鈕類時,是否可以發送額外的參數,如下所示:?在UIButton實例中發送額外的參數
BttClass *myButton = [[BttClass alloc] init];
如果是這樣,什麼是正確的語法?我一直在嘗試各種! 我想發送一個BOOL和一個字符串。 謝謝。
當我實例化這個按鈕類時,是否可以發送額外的參數,如下所示:?在UIButton實例中發送額外的參數
BttClass *myButton = [[BttClass alloc] init];
如果是這樣,什麼是正確的語法?我一直在嘗試各種! 我想發送一個BOOL和一個字符串。 謝謝。
通過繼承其擴展的UIButton。
//MyButton.h
@interface MyButton : UIButton {
}
@property (nonatomic, strong) NSString* aString;
@property (nonatomic, weak) BOOL aBool;
您需要定義一個初始化器方法
-(id)initWithStringValue:(NSString *)stringValue andWithBoolValue:(bool)boolValue;
然後實現初始化器方法
//MyButton.m
-(id)initWithStringValue:(NSString *)stringValue andWithBoolValue:(bool)boolValue {
self = [super init];
if (self) {
self.aString = stringValue;
self.aBool = boolValue;
}
return self;
}
在調用類的代碼看起來像
MyButton* myButton = [[MyButton alloc] initWithStringValue:@"tralala" andWithBoolValue:YES];
感謝達摩,這個作品很棒。 –
如果它幫助,然後標記/接受答案總是讚賞;-) – Damo
只要定義一個定製的初始化和傳遞自己的價值觀:
- (id)initWithBoolValue:(bool)boolValue stringValue:(NSString *)stringValue {
self = [super init];
if (self) {
// Custom initialization
}
return self;
}
謝謝melsam。需要知道如何調用它。 (由Damo回答。) –
在
CustomButton.h
@interface CustomButton : UIButton
- (id)initWithBooleanValue:(BOOL)value;
@end
,並在您 創建自定義按鈕
CustomButton.m
- (id)initWithBooleanValue:(BOOL)value
{
self = [super init];
if (self)
{
NSLog(@"Bool = %d",value);
}
return self;
}
你可以取代一般的UIButton
的使用這個類謝謝Aatish。需要知道如何調用它。 (由達摩回答。) –
我的第一個問題是爲什麼?如果你遵循'MVC'原則,你不需要添加任何額外的信息來查看,這些應該在你的模型中。只是我對這個問題的想法。 – rckoenes
也許按鈕需要(好吧也許不需要,但'想')要足夠聰明來改變它的標題,它使用這些參數來做到這一點? – Damo
達摩是對的,我正在製作一個自定義按鈕。由於設計原因,常規自定義選項將無法使用。 (不可否認,也許UIButton對我來說不是正確的選擇,也許我應該使用UIControl,或者別的。) –