2010-12-03 16 views
11

मेरे पास नियंत्रक है जो UIAlertViewDelegate लागू करता है। कार्यान्वयन में मेरे पास है:UIAlertViewDelegate और अधिक अलर्ट विंडो

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 

विधि। जब मैं UIAlertView बनाता हूं तो मैंने 'प्रतिनिधि' को 'स्वयं' में रखा और यह ठीक काम करता है। लेकिन समस्या यह है कि अब मेरे पास एक और चेतावनी विचार हैं और मैं उनमें से प्रत्येक के लिए अलग-अलग व्यवहार चाहता हूं। तो कैसे जांचें कि कौन सा अलर्ट संदेश भेजता है?

उत्तर

12

UIAlertView एक UIView subsclass है और इसलिए टैग संपत्ति आप उन दोनों के बीच अंतर करने के लिए उपयोग कर सकते हैं:

UIAlertView *alert1 = ... //Create alert 
alert1.tag = kActionTag1; 
//show alert 

... 

UIAlertView *alert2 = ... //Create alert 
alert2.tag = kActionTag2; 
//show alert 

और फिर प्रतिनिधि विधि में:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
    if (alertView.tag == kActionTag1){ 
      // Perform 1st action 
    } 
    if (alertView.tag == kActionTag1){ 
      // Perform 2nd action 
    } 
} 
+0

धन्यवाद, यह बहुत मदद करता है :) – 1110

0

प्रत्येक विशिष्ट अलर्ट व्यू के सूचक को प्रतिनिधि विधि के अलर्ट व्यू पैरामीटर में भेजा जाता है। आपको बस पॉइंटर्स को ट्रैक करने की आवश्यकता है (उदाहरण के लिए उदाहरण चर के माध्यम से) ताकि आप जान सकें कि कौन सा है और तदनुसार कार्य करें।

0

UIAlertView गैस एक टैग संपत्ति। इसे बनाते समय इसे सेट करें और आप प्रतिनिधि में टैग की जांच कर सकते हैं।

संबंधित मुद्दे