2016-06-23 10 views
5

नीचे समारोह tableview के लिए डेटा प्राप्त करने केस्विफ्ट 3 कोर डेटा लाने मुद्दा

func fetchProfiles() -> Array<User> { 
    var users: Array<User> = [] 
    let fetchRequest: NSFetchRequest<Profile> = Profile.fetchRequest() 
    let fetchedData = try! context.fetch(fetchRequest) 
    if (!fetchedData.isEmpty) { 
     print(fetchedData) 
     for i in 0...fetchedData.count { 
      var user: User = User() 
      user.userName = fetchedData[i].profileName 
      user.userSurname = fetchedData[i].profileSurname 
      user.userPhoto = fetchedData[i].profilePhoto 
      users.append(user) 
     } 
     return users 
    } 
    else { 
     return users 
    } 
} 

"उपयोगकर्ता" प्रयोग किया जाता है एक सरल struct है। कोर प्रोफाइल में "प्रोफाइल" एक इकाई है। मैं तालिका में कोशिकाओं के लिए उनका उपयोग करने के लिए structs की एक सरणी बनाते हैं। कोड में कोई त्रुटि नहीं है (xCode के लिए)। जब कोई डेटा लाया गया है, यह सरणी जोड़कर छोड़ देता है, लेकिन जब वहाँ कुछ जानकारी है, एप्लिकेशन त्रुटि के साथ दुर्घटनाओं:

fatal error: NSArray element failed to match the Swift Array Element type

+2

fetch अनुरोध पर इस पंक्ति को बदलने का प्रयास करें, *** fetchedData = कोशिश करें! context.executeFetchRequest (fetchRequest) के रूप में! [AnyObject] *** – Suresh

+0

@Suresh Xcode कहते हैं: "कन्वर्ट प्रकार के मूल्य NSFetchRequest की उम्मीद करने के लिए NSFetchRequest नहीं कर सकते" –

+0

अपने जाने fetchRequest बदलें: NSFetchRequest = Profile.fetchRequest(); *** के साथ लाइन fetchRequest: NSFetchRequest = NSFetchRequest (entityName: "प्रोफाइल") *** यहां, "प्रोफ़ाइल" आपकी इकाई का नाम होना चाहिए, सुनिश्चित करें कि आप इसे स्ट्रिंग – Suresh

उत्तर

1

अज्ञात कारण के लिए, वहाँ समस्याओं ऑटो के साथ कोर डाटा संस्थाओं के हेडर उत्पन्न थे। मैं सिर्फ फ़ोल्डर से सभी फाइलों को नष्ट कर दिया:

/Users/user/Library/Developer/Xcode/DerivedData/MyApp/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/DerivedSources/CoreDataGenerated

तो साथ

command+shift+k

कुछ संभावित समस्याओं के लिए जाँच की मेरी कोर डाटा मॉडल और पूरी परियोजना का पुनर्निर्माण अपने प्रोजेक्ट की सफाई की। जादू।

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