MLKitEntity 擷取架構參考資料

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(_:) 查看模型的下載狀態。如果叫用這個方法 先前已下載該模型,系統會發出要求來檢查模型是否有更新版本 可供下載如果有新版模型,即會下載。

    如要知道此方法何時完成,請觀察 MLKModelDownloadNotifications.h 中定義的 .mlkitModelDownloadDidSucceed.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 而失敗。

  • 一組已下載的實體擷取模型。 然後,您可以透過 ModelManagerdeleteDownloadedModel(_:completion:) 刪除這些模型 用於管理磁碟空間的 API。

    聲明

    Objective-C

    @property (nonatomic, readonly) NSSet<MLKEntityExtractionRemoteModel *> *_Nonnull downloadedEntityExtractionModels;