नीचे समारोह 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
fetch अनुरोध पर इस पंक्ति को बदलने का प्रयास करें, *** fetchedData = कोशिश करें! context.executeFetchRequest (fetchRequest) के रूप में! [AnyObject] *** – Suresh
@Suresh Xcode कहते हैं: "कन्वर्ट प्रकार के मूल्य NSFetchRequest की उम्मीद करने के लिए NSFetchRequest नहीं कर सकते" –
अपने जाने fetchRequest बदलें: NSFetchRequest = Profile.fetchRequest(); *** के साथ लाइन fetchRequest: NSFetchRequest = NSFetchRequest (entityName: "प्रोफाइल") *** यहां, "प्रोफ़ाइल" आपकी इकाई का नाम होना चाहिए, सुनिश्चित करें कि आप इसे स्ट्रिंग –
Suresh