2011-02-24 12 views
5

को पूरा न करें मुझे लगता है कि यह एक आम मुद्दा होना चाहिए कि मैं केवल यह पता लगाने के लिए संघर्ष कर रहा हूं, लेकिन मुझे कोई अन्य व्यक्ति नहीं मिला जो इस सवाल से पूछता था ... असल में मेरे पास NSTokenField और जब उपयोगकर्ता टाइपिंग शुरू करता है तो मैं एक SOAP अनुरोध करता हूं और उन नामों को प्राप्त करता हूं जो उन्होंने दर्ज किए हैं। मुद्दा यह है कि मेरे सुझाव जरूरी नहीं है कि उन्होंने जो लिखा है उससे मेल खाएं। उदाहरण के लिए, मैं ईमेल और अंतिम नाम से मेल खाता हूं, लेकिन सुझाव व्यक्ति में पूर्ण नाम प्रकट होता है। चूंकि अक्षरों का मिलान नहीं होता है, इसलिए NSTokenField जो सरणी में पहले आइटम पर पहले से टाइप किया गया है उसे बदलता है। क्या स्वत: पूर्ण बंद करने का कोई तरीका है और सुझाव बॉक्स दिखाई दे रहा है?NSTokenField सुझाव दें लेकिन

उत्तर

8
- (NSArray *)tokenField:(NSTokenField *)tokenField completionsForSubstring:(NSString *)substring indexOfToken:(NSInteger)tokenIndex indexOfSelectedItem:(NSInteger *)selectedIndex 
{ 
    *selectedIndex = -1; 
    return NSArray; 
} 

यह पता चला है कि मैं चयनित इंडेक्स को गलत तरीके से असाइन कर रहा था लेकिन यदि आप इसे -1 पर सेट करते हैं तो कुछ भी नहीं चुना जाता है।

0

तेज में जवाब है:

if selectedIndex != nil { 
    selectedIndex.memory = -1 
} 
संबंधित मुद्दे