5

Drew McCormack の Ensembles を github から使用して、現在の iOS/swift/coredata/iCloud による頭痛を緩和したいと考えています。Ensembles の例はすべて Objective-C にあります。私は自分のプロジェクトでフレームワークとしてそれを持っていますが、週末のコーダーであるため、ObjC サンプル コードからその使用方法を推定することはできません。

swift を使用したアンサンブルのハウツーを見た人はいますか?

追加: フレームワークとして持っていますが、どのように設定してリーチングを開始するのですか? Obj-C の方法は、

//SetupEnsemble
cloudFileSystem=[[CDEICloudFileSystemalloc] initWithUbiquityContainerIdentifier:@"container"];
ensemble=[[CDEPersistentStoreEnsemblealloc]initWithEnsembleIdentifier:@"MainStore" persistentStoreURL:storeURL
        managedObjectModelURL:modelURL
cloudFileSystem:cloudFileSystem]; ensemble.delegate=self;

そしてリーチ

if(!ensemble.isLeeched){
[ensemble leechPersistentStoreWithCompletion:^(NSError *error) {
if (error) NSLog(@"Could not leech to ensemble: %@", error); }];}
4

2 に答える 2

2

次の手順では、iCloud + Dropbox ファイルシステムを使用してアンサンブルをプロジェクトに追加する方法について説明します。

次の内容で「Podfile」をプロジェクトに追加します。

target :YOUR_TARGET_NAME do
platform :ios, '7.0'
pod "Ensembles", :git => 'https://github.com/drewmccormack/ensembles.git'
pod "Ensembles/Dropbox", :git => 'https://github.com/drewmccormack/ensembles.git'
link_with 'YOUR_TARGET_NAME'
end

ターミナルから「pod install」を実行します

ObjC ブリッジ ヘッダーを作成する

アンサンブル (および他のフレームワークをブリッジ ヘッダーに追加) を追加します。

#import <Foundation/Foundation.h>
#import <Ensembles/Ensembles.h>
#import "DropboxSDK.h"
#import "CDEDropboxCloudFileSystem.h"

幸せなコーディング:

var ensemble:CDEPersistentStoreEnsemble?
var ensembleFileSystem:CDECloudFileSystem?

ensembleFileSystem = CDEICloudFileSystem(
  ubiquityContainerIdentifier: "SOME_CONTAINER",
  relativePathToRootInContainer: "STORE_ROOT_PATH"
)

ensemble = CDEPersistentStoreEnsemble(
  ensembleIdentifier: "IDENTIFIER",
  persistentStoreURL: "STORE_URL",
  persistentStoreOptions:nil,
  managedObjectModelURL:"MOM_URL",
  cloudFileSystem:ensembleFileSystem,
  localDataRootDirectoryURL:"DATA_ROOT_URL"
)

e.leechPersistentStoreWithCompletion({ (error:NSError?) -> Void in
  // check for error, etc...
})
于 2015-06-05T21:25:16.820 に答える