Tdo*_*leG 17 sqlite core-data ios swift
我想获取sqlite表中的所有已保存数据.
我现在正在这样做:
func GetAllData() -> NSArray
{
var error : NSError? = nil;
var request : NSFetchRequest = NSFetchRequest(entityName: "Locations");
let result : [AnyObject] = managedObjectContext!.executeFetchRequest(request, error:&error)!;
var elements : NSMutableArray = NSMutableArray();
for fetchedObject in result
{
elements.addObject(fetchedObject[0]);
}
print(elements);
return elements;
}
Run Code Online (Sandbox Code Playgroud)
我在Objective-C中获取数据没有问题,但是我很快就得到它!
保存数据工作正常.我有两行"名称"和"类别".如何显示所有已保存的数据?
der*_*ida 33
您应该将CoreData中的所有对象加载到NSManaged Objects的Array/Dict中.
例如:
var locations = [Locations]() // Where Locations = your NSManaged Class
var fetchRequest = NSFetchRequest(entityName: "Locations")
locations = context.executeFetchRequest(fetchRequest, error: nil) as [Locations]
// Then you can use your properties.
for location in locations {
print(location.name)
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特3
func fetchData(){
onlyDateArr.removeAll()
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "PhotoData")
do {
let results = try context.fetch(fetchRequest)
let dateCreated = results as! [PhotoData]
for _datecreated in dateCreated {
print(_datecreated.dateCreation!)
onlyDateArr.append(_datecreated)
}
}catch let err as NSError {
print(err.debugDescription)
}
}
Run Code Online (Sandbox Code Playgroud)
试试这个:
let fetchRequest = NSFetchRequest(entityName: "Locations")
do {
let results = try managedObjectContext.executeFetchRequest(fetchRequest)
let Locations = results as! [Locations]
for location in Locations {
println(location)
}
} catch let error as NSError {
print("Could not fetch \(error)”)
}
Run Code Online (Sandbox Code Playgroud)
复制和粘贴
func grabAllPersons() {
var pp: [CD_Person] = []
do {
let r = NSFetchRequest<NSFetchRequestResult>(entityName: "CD_Person")
let f = try core.container.viewContext.fetch(r)
pp = f as! [CD_Person]
} catch let error as NSError {
print("woe grabAllPersons \(error)")
}
for p: CD_Person in pp {
print(" >> \(p.firstName)")
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,这core.container.viewContext是“您的”上下文,通常(但不总是)由core.container.viewContext. (示例)
在某些情况下:
它是ABSOLUTELY重要的是你不小心使用了“错误”的情境。
例如,您正在做一个小的附带问题,例如计数或只是抓取所有项目。
这个问题在大标题下解释在这里“行使极度谨慎......”
| 归档时间: |
|
| 查看次数: |
36481 次 |
| 最近记录: |