我有一個通用例程,它需要幾個參數。 喜歡的東西:Objective-C - 用回調參數存儲塊
-(id) doStuff:(int)A:(int)B:(int)C {
//doStuff
return object;
}
我有一個UITableViewController
,裏面有一些定製的細胞,每一個都有自己的ID。當「保存」命中時,這些單元格將被迭代,並且一些單元格在保存時需要「額外行爲」。
到目前爲止,我創建了一個'回調'對象,它在自定義單元格中存儲NSString *
和一個委託。當被「保存」,單元外觀,是否有任何回調申請和使用
SEL sel = NSSelectorFromString(Sel);
if([Del respondsToSelector:sel])
[Del performSelector:sel withObject:Cell];
現在工作起來有些好......,但是,它需要我傳遞給上做一個開關/箱的方法已通過的單元的ID,我想避免這種情況。
這就是爲什麼我想使用塊,但我真的不知道如何將參數化塊存儲在變量中。
我想要做的事:
聲明一個功能塊doStuff
。
id (^doStuff) (int, int, int) = ^(int A, int B, int C) {
//does Stuff
};
並添加先前創建的塊回調
[Cell addCallback:(^doStuff)(1, 2, 3)];
塊必須在那個時刻未被調用,而是存儲在電池,僅稱它時,時間是正確的。 我該如何正確解決這個問題?
非常感謝。
編輯:我還想避免的是將塊的參數存儲在單元格中,並在調用時傳遞它們,因爲這會要求我進一步不必要地專門化單元格。
這似乎總結了我想要做的事情。它可能會覺得奇怪,但塊也是如此。我會嘗試並給你反饋。謝謝:) – ATaylor