का पता लगाने के मैं एक UISearchbar कि एक यूआरएल से जानकारी पुनः प्राप्त लागू करने खोज रहा हूँ, और डिफ़ॉल्ट विधि के साथ:UISearchBar जब उपयोगकर्ता रोक प्रकार और पता लगाने के तुरंत खोज नहीं है इसलिए ठहराव
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
मैं तुरंत जब पता लगा सकते हैं टेक्स्ट बदलता है और यूआरएल का आचरण करता है, लेकिन इस तरह, टेक्स्ट टाइप धीमा है क्योंकि आईफोन यूआरएल खोज रहा है, इसलिए जब मैं कुछ सेकेंड के लिए लिखना बंद कर देता हूं तो मैं यूआरएल की लांचिंग शुरू करना चाहता हूं, इसलिए मैं चाहता हूं url द्वारा जानकारी को पुनर्प्राप्त करने के लिए तालिका दृश्य को रीफ्रेश करने के लिए टाइपिंग के विराम का पता लगाएं। मैं इस अनुरोध की एक पुराने पोस्ट पाया है और मैं एक समाधान है कि के लिए मुझे काम नहीं करते की कोशिश की है:
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(request:) object:searchText];
//.....
[self performSelector:@selector(request:) withObject:searchText afterDelay:1.5];
}
-(void)request:(NSString *)myString
{
NSLog(@"%@",myString);
}
इस तरह से जब मैं अनुरोध विधि टाइप कर रहा हूँ नहीं कहा है, लेकिन यह है जब मैं लिखना बंद कर मेरे द्वारा टाइप किए जाने वाले प्रत्येक चरित्र के लिए बुलाया जाता है, तो डिफ़ॉल्ट विधि के समान है, मुझे कुछ गलत है? या कार्यान्वयन सही नहीं है?
आप पहले विकल्प को कैसे कार्यान्वित करते हैं NSString? क्या आप कृपया एक कोड उदाहरण लिख सकते हैं? – Piero
ठीक है, मैं कुछ लिखूंगा। हालांकि त्रुटि-मुक्त काम करने की गारंटी नहीं है, क्योंकि मैंने वास्तविक कोड में इस दृष्टिकोण की कोशिश नहीं की है। – rgeorge
यह लाइन क्या कर रही है? [स्वयं अनुरोध: searchDelayer.userInfo]; ? –