MLKitCommon 架構參考資料

MLKModelManager


@interface MLKModelManager : NSObject

管理 MLKit 功能使用的模型。

  • 傳回 ModelManager 例項。

    聲明

    Objective-C

    + (nonnull instancetype)modelManager;

    傳回值

    ModelManager 執行個體。

  • 無法使用,使用 modelManager() 類別方法。

    聲明

    Objective-C

    - (nonnull instancetype)init;
  • 檢查是否已下載指定模型。

    聲明

    Objective-C

    - (BOOL)isModelDownloaded:(nonnull MLKRemoteModel *)remoteModel;

    參數

    remoteModel

    用於檢查下載狀態的模型。

    傳回值

    指定模型是否已下載完成。

  • 將指定模型從伺服器下載到裝置上的本機目錄。使用 isModelDownloaded(_:):查看模型的下載狀態。如果叫用這個方法 先前已下載該模型,系統會發出要求來檢查模型是否有更新版本 可供下載如果有新版模型,即會下載。

    如要瞭解此方法的執行時間,請觀察 .mlkitModelDownloadDidSucceedMLKModelDownloadNotifications.h 中定義的 .mlkitModelDownloadDidFail 則通知。 如果最新模型已下載完畢,無須進行額外作業或發布即可 .mlkitModelDownloadDidSucceed 通知,表示模型已可使用。

    聲明

    Objective-C

    - (nonnull NSProgress *)downloadModel:(nonnull MLKRemoteModel *)remoteModel
                               conditions:
                                   (nonnull MLKModelDownloadConditions *)conditions;

    參數

    remoteModel

    要下載的模型。

    conditions

    下載模型的條件。

    傳回值

    模型下載進度。

  • 從裝置中刪除已下載的模型。

    聲明

    Objective-C

    - (void)deleteDownloadedModel:(nonnull MLKRemoteModel *)remoteModel
                       completion:(nonnull void (^)(NSError *_Nullable))completion;

    參數

    remoteModel

    要刪除的下載模型。

    completion

    刪除模型後,可在主要佇列中回呼的處理常式 或因指定的 error 而失敗。