Objective-C'de Delegeler gibi şeylerin anonim uygulamalarını ilan etmek mümkün mü? Ben terminoloji hakkım var, ama burada bir java örnek:Objective-C'de anonim delege uygulaması?
myClass.addListener(new FancyInterfaceListener({
void onListenerInterestingAction(Action a){
....interesting stuff here
}
});
Bu yüzden geçirmek istiyorsanız biraz saçma görünüyor aynı sınıfta başka bir yöntemi, beyan etmek zorunda bir UIActionSheet çağrıyı işlemek için örneğin veri, çünkü bu verileri global değişken olarak saklamak zorundayım. İşte soran bir onay iletişim ile bir şeyler silme bir örnek senin emin:
-(void)deleteItem:(int)indexToDelete{
UIActionSheet *confirm = [[UIActionSheet alloc] initWithTitle:@"Delete Item?" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Delete" otherButtonTitles:nil];
[confirm showInView:self.view];
[confirm release];
}
ve aynı sınıfta UIActionSheetDelegate:
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 0){
[[Settings sharedSettings] removeItemAtIndex:/*need index variable here*/];
[drinksTable reloadData];
}
}
Ne yapmak isterler satır içi beyan olduğunu Aynı java örneğinde olduğu gibi. Mümkün mü?
Sadece bu tür durumlar için (burada) https://github.com/GojaN/AnonymusDelegate) için uygun bir çözüm yazıyorum. Bunun bir kavram kanıtı olduğunu unutmayın. –
Evet, üçüncü taraf kitaplıkları ile yapabilirsiniz, tam cevabımı buradan okuyabilirsiniz: http://stackoverflow.com/a/33096839/440168 – k06a