חומר עזר בנושא MLKitTranslate Framework

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(_:) כדי לבדוק את סטטוס ההורדה של המודל. אם השיטה הזו מופעלת והמודל כבר הורד, נשלחת בקשה לבדוק אם גרסה חדשה יותר של המודל זמינה להורדה. אם הגרסה החדשה של המודל תהיה זמינה, תתבצע הורדה של הגרסה החדשה.

    כדי לדעת מתי השיטה הזו הסתיימה, כדאי לפעול לפי ההתראות של .mlkitModelDownloadDidSucceed ושל .mlkitModelDownloadDidFail שמוגדרות ב-MLKModelDownloadNotifications.h. אם המודל האחרון כבר הורד, הוא מסתיים ללא עבודה נוספת ומוצגת הודעה .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 הנתון, אפליקציית ה-handler יכולה להתקשר חזרה לתור הראשי.

  • קבוצת מודלים של תרגום שכבר הורדו (כולל מודלים מובנים, בשלב זה רק אנגלית). את המודלים האלה אפשר למחוק דרך ה-API של ModelManager deleteDownloadedModel(_:completion:) כדי לנהל את המקום בכונן.

    הצהרה

    Objective-C

    @property (nonatomic, readonly) NSSet<MLKTranslateRemoteModel *> *_Nonnull downloadedTranslateModels;