जाहिर है, संकलक NSSearchPathDirectory:0
एक सरणी है, और निश्चित रूप से यह NSSearchPathDirectory
इसके बजाय प्रकार की उम्मीद करता है । निश्चित रूप से एक सहायक त्रुटि संदेश नहीं।
लेकिन कारणों के रूप में:
पहले, आप तर्क नामों और प्रकारों को भ्रमित कर रहे हैं। फ़ंक्शन परिभाषा पर एक नज़र डालें:
func NSSearchPathForDirectoriesInDomains(
directory: NSSearchPathDirectory,
domainMask: NSSearchPathDomainMask,
expandTilde: Bool) -> AnyObject[]!
directory
और domainMask
नाम हैं, आप प्रकारों का उपयोग कर रहे हैं, लेकिन आपको उन्हें कार्यों के लिए वैसे भी छोड़ देना चाहिए। उनका उपयोग मुख्य रूप से विधियों में किया जाता है।
- इसके अलावा, स्विफ्ट दृढ़ता से टाइप किया गया है, इसलिए आपको केवल 0. का उपयोग नहीं करना चाहिए। इसके बजाय एनम के मान का उपयोग करें।
- और अंत में, यह केवल एक पथ नहीं, बल्कि एक सरणी देता है।
ताकि हमें छोड़ दिया जाए (स्विफ्ट 2.0 के लिए अद्यतन):
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
और स्विफ्ट 3 के लिए:
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]