2012-01-26 13 views
10

मैंने सुना है कि UITextView के लिए ऐप्पल का वर्तनी परीक्षक व्यक्तिगत अनुप्रयोगों में आपके द्वारा टाइप किए जाने वाले कुछ प्रकार के लॉगिंग को बनाए रखता है। मेरे पास एक सुरक्षित एप्लिकेशन है जहां वर्तनी जांच एक उपयोगी सुविधा है, हालांकि मैं नहीं चाहता कि नए शब्द मेरे आवेदन के बाहर कहीं भी लॉग इन हों। क्या कोई मुझे ऐप्पल संदर्भ दस्तावेज या तकनीकी विवरण के बारे में बता सकता है कि वर्तनी जांच द्वारा कौन सी जानकारी कैप्चर की जाती है, और यह कहां पर कब्जा कर लिया जाता है?आईओएस वर्तनी परीक्षक द्वारा कौन सी जानकारी संग्रहीत की जाती है?

+3

अच्छा सवाल :) – Danra

उत्तर

2

मैं निश्चित पता नहीं है, लेकिन fseventer का उपयोग कर, शब्द "APLE" सीखने TextEdit में उस शब्द को ~/Library/Spelling/LocalDictionary पर सहेजता है। किसी शब्द को अनदेखा करना फ़ाइल सिस्टम को बिल्कुल संशोधित नहीं करना प्रतीत होता है, और वास्तव में, यदि दस्तावेज़ बंद है और सहेजा नहीं गया है, और पहले से अनदेखा शब्द वाला एक नया दस्तावेज़ खोला गया है, तो इसे अब अनदेखा नहीं किया जाएगा। यह +learnWord: कक्षा विधि होने के साथ संगत है, और -ignoreWord: एक उदाहरण विधि है। तो सुरक्षा के लिए, शायद आप कभी भी +learnWord: पर कॉल नहीं कर सकते हैं, और इसके बजाय अनदेखा शब्दों की सूची को लगातार/सुरक्षित रूप से स्टोर करने के लिए अपना स्वयं का बैकएंड है।

+0

दिलचस्प ... अनुमान लगाता है फोर्डवॉर्डरेंज: इनस्ट्रिंग: भाषा: या पूर्णताफॉरपार्टियलवॉर्डरेंज: इनस्ट्रिंग: भाषा: कोई एफएस गतिविधि है? यदि नहीं, तो मेरे स्वयं के UITextView उपclass लिखना संभव होना चाहिए जो सीखने के बिना जांच वर्तनी करता है। (मेरा वास्तविक लक्ष्य) – BadPirate

3

सुनिश्चित नहीं हैं कि अगर यह बहुत मदद करता है, लेकिन आप जादू UITextChecker वर्ग जिसे नजरअंदाज शब्दों की एक सूची की स्थापना की अनुमति देता है के साथ मैन्युअल रूप से जाँच कर सकता है:

- (void)setIgnoredWords:(NSArray *)words 

अधिक यहाँ: https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITextChecker_Class/Reference/Reference.html

तुम भी जाँच कर सकते हैं चाहे शब्द के साथ सीखा कर दिया गया है

+ (BOOL)hasLearnedWord:(NSString *)word 
+0

यहां से संबंधित बिट, लेकिन क्या UITextChecker का उपयोग करके सभी गलत वर्तनी वाले शब्दों को स्वचालित रूप से स्वीकार करना संभव होगा? –

+0

हाँ, प्रत्येक नए शब्द के लिए बस + learnWord (NSString *) पर कॉल करें। – danielbeard

+0

मैं देखता हूं लेकिन एक निश्चित शब्द कहता हूं कि यूआईटीएक्स्टफिल्ड में उदाहरण के लिए मिस्पाइल किया गया है, उदाहरण के लिए "सेब" के बजाय यह "aple" कहा जाता है। अगर मैं learnWord (NSSString *) को कॉल करता हूं जो स्वचालित रूप से इसे "सेब" में बदल देगा? –