2016-05-07 10 views
0

私は画像を保存するためにクラウドキットを使用しています。私は、画像ファイル名を使用して、タイトルに追加の文字列レコードの代わりに、私のアプリでラベルを設定することによって、ストレージスペースを節約したい。 アセット名を文字列として取り出すことはできますか?クラウドキットクエリでアセットの名前を取得する方法

何かのような...

self.pred = NSPredicate(format: "TRUEPREDICATE") 
     let query = CKQuery(recordType: "Images", predicate: NSPredicate(value: true)) 
     self.queryOperation.qualityOfService = .UserInteractive 
     self.queryOperation = CKQueryOperation (query: query) 
     self.queryOperation.recordFetchedBlock = { 
      record in 

      let Image = record.objectForKey("Image")! as! CKAsset 
      imageLabel.text = Image.recordName as! NSString 
} 

答えて

0

CKAssetfileURLプロパティを使用します。次にNSURLからfilenameを取得します。

+0

返信いただきありがとうございます。私は使用してみました:Image.fileURL.URLByDeletingPathExtension!.lastPathComponent、しかし、私は何かのようになります: 4CE2AE91-7078-431A-B2EB-xxxxxxxxx – user4812000

+1

それは正しいようです。アセットのURLは、アセットの作成に使用された元のURLのようなものではありません。 CloudKitは、ファイル名が一意であることを保証するためにいくつかのGUIDを生成しました。基本的には、これはあなたが望むことができないことを意味します。あなたはあなたの "Images"レコードに何らかの "名前"フィールドを追加する必要があります。 – rmaddy

+0

ダング、それは私が避けることを望んでいたものです。私はそれが可能ではないと思う。ありがとうございました! – user4812000

関連する問題