2015-01-12 5 views
8

के बाद बुलाया जाता है मुझे एक उत्सुक UITableView व्यवहार का सामना करना पड़ रहा है और मुझे नहीं पता कि यह कहां से आ रहा है। मैं एक बहुत ही सरल एकल दृश्य IOS8 स्विफ्ट एप्लिकेशन का निर्माण कर रहा हूं जिसमें पहले ViewController के साथ UITableView और एक कस्टम छवि सेल है। जब मैं किसी सेल पर टैप करता हूं तो यह मेरे SecondViewController पर सेग्यू करता है।UITableView didSelectRowAtIndexPath कभी-कभी दूसरी टैप

मेरा यूआईटीबल व्यू प्रतिनिधि और डेटासोर्स पहले व्यू कंट्रोलर से जुड़ा हुआ है। सबकुछ काम कर रहा है सिवाय इसके कि जब मैं सेल को टैप करता हूं, कभी-कभी मुझे Segue को ट्रिगर करने के लिए इसे दो बार टैप करना पड़ता है।

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    println("You clicked on \(indexPath.row) row") 
    self.performSegueWithIdentifier("homeToDetail", sender:self) 
} 

मेरे प्रिंट हमेशा सही indexPath लौटा रहा है:

यहाँ मेरी didSelectRowAtIndexPath कार्य है। क्या यह एक दृश्य पदानुक्रम समस्या है या कुछ और?

धन्यवाद जेडी

+0

दिलचस्प ठीक करने के लिए है, तो आप एक छोटे से अधिक कोड साझा कर सकते हैं? यह सिम्युलेटर या असली डिवाइस पर है? – Woodstock

+0

सिम्युलेटर और वास्तविक डिवाइस –

+0

क्या 'println' केवल एक बार ट्रिगर हो जाता है, या दो बार? – pbasdf

उत्तर

10

इसे आजमाएं।

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    dispatch_async(dispatch_get_main_queue(), { 
    self.performSegueWithIdentifier("homeToDetail", sender:self) 
    }) 
} 

यह आईओएस 8 में एक बग है, मुझे लगता है। UITableViewCell selection Storyboard segue is slow - double tapping works though

+0

दिलचस्प है, इसलिए मुख्य कतार में कॉल को धक्का देना बग के लिए एक समाधान है? – Woodstock

+0

यही दो अन्य लोगों के लिए काम करता है। हालांकि अजीब – rakeshbs

+0

धन्यवाद, यह ठीक से काम कर रहा है! –

0

आप [tableView deselectRowAtIndexPath:indexPath animated:YES]; कॉल करने के लिए इस

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