私はSwift 3.0でプロジェクトを進めていますが、CoreData
という5つの属性を持ち、文字列がNSManageObject
のMP3Details
の属性を持つモジュールを持っています。つまり、継続時間は、trackID
,trackName
、trackURL
です。CoreDataモジュールからデータを取得します
私がtrackID
を渡すと、そのIDに関連する要素を取得する必要があります。たとえば、私がtrackID
を渡すと、そのトラックIDに属するトラックの継続時間、trackName
などを取得する必要があります。
今のところ、空の配列が得られます。私がtrackID
を渡し、その情報を以下のようにそのIDに所属させる部分的に完成したコード。私はここで何が欠けていますか?
I)は(CoreDataから
public static func getTrackDetails(trackId:String?) -> [MP3Details]?{
let appDelegate = UIApplication.shared.delegate as! AppDelegate;
let context = appDelegate.persistentContainer.viewContext;
let request = NSFetchRequest<NSFetchRequestResult>(entityName: MP3_DETAILS_ENTITY)
if(trackId != nil){
request.predicate = NSPredicate(format:"trackID = %@", trackId!)
}
request.returnsObjectsAsFaults = false
do{
let results = try context.fetch(request)
print("Result : ",results)
if(results.count > 0){
return results as? [MP3Details]
}else{
print("No Mp3 results for the track ID")
}
}catch{
print("Error in fetching items")
}
return nil;
}
上記のコードスウィフト3.0ではコアデータにアクセスできません。コアデータのアクセスは迅速に変更されました。コアデータpersistentContainerに直接アクセスできます。 – phani
コードスニペットは、trackIDの代わりにnillの値を渡すと大したことになります。私はMp3Detailsを取得します – danu
これまでは迅速に作業しませんでした。しかし、私はそのためのコードを持っていました。私はそれをチェックします待ってください。 – phani