KMController

Objective-C

@interface KMController : NSObject

Swift

class KMController : NSObject

KMController MapContainer 안에 뷰를 추가하고 관리하기 위한 controller 역할을 하는 interface.

Initializer

  • Unavailable

    Use initWithMapConfig: instead.

    unavailable

    Declaration

    Objective-C

    - (instancetype _Nonnull)init;
  • Designated initializer.

    Declaration

    Objective-C

    - (instancetype _Nonnull)initWithViewContainer:
        (KMViewContainer *_Nonnull)viewContainer;

    Swift

    init(viewContainer: KMViewContainer)

    Return Value

    KMController

Engine Controls

  • Engine 준비 엔진이 렌더링 준비를 마치는 경우, MapControllerDelegate의 addViews를 호출한다.

    Declaration

    Objective-C

    - (BOOL)prepareEngine;

    Swift

    func prepareEngine() -> Bool
  • Engine 리셋 생성한 Resource는 모두 릴리즈되므로, stop이후 기존에 사용했던 모든 resource는 사용할 수 없다.

    Declaration

    Objective-C

    - (void)resetEngine;

    Swift

    func resetEngine()
  • 엔진 활성화

    엔진은 앱이 active 상태일 때에만 활성화 상태에 있어야 한다. 이 시점부터 뷰에 렌더링을 하기 시작한다.

    Declaration

    Objective-C

    - (void)activateEngine;

    Swift

    func activateEngine()
  • 엔진 일시정지

    이 시점부터는 뷰에 렌더링을 하지 않는다.

    Declaration

    Objective-C

    - (void)pauseEngine;

    Swift

    func pauseEngine()
  • 엔진 이슈 확인용 디버그 메세지.

    Declaration

    Objective-C

    - (NSString *_Nonnull)getStateDescMessage;

    Swift

    func getStateDescMessage() -> String

View Controls

  • SubView(ViewBase)를 추가한다.

    Declaration

    Objective-C

    - (void)addView:(ViewInfo *_Nonnull)viewInfo;

    Swift

    func addView(_ viewInfo: ViewInfo)
  • SubView(ViewBase)를 추가한다.

    Declaration

    Objective-C

    - (void)addView:(ViewInfo *_Nonnull)viewInfo
            timeout:(NSUInteger)timeoutInMillis;

    Swift

    func addView(_ viewInfo: ViewInfo, timeout timeoutInMillis: UInt)
  • SubView(ViewBase)를 추가한다.

    Declaration

    Objective-C

    - (void)addView:(ViewInfo *_Nonnull)viewInfo
           viewSize:(CGSize)viewSize
            timeout:(NSUInteger)timeoutInMillis;

    Swift

    func addView(_ viewInfo: ViewInfo, viewSize: CGSize, timeout timeoutInMillis: UInt)
  • SubView(ViewBase)를 특정 사이즈로 추가한다.

    Declaration

    Objective-C

    - (void)addView:(ViewInfo *_Nonnull)viewInfo viewSize:(CGSize)viewSize;

    Swift

    func addView(_ viewInfo: ViewInfo, viewSize: CGSize)
  • SubView를 제거한다.

    • paramter: 삭제할 subView의 이름

    Declaration

    Objective-C

    - (void)removeView:(NSString *_Nonnull)viewName;

    Swift

    func removeView(_ viewName: String)
  • viewName에 해당하는 SubView를 가져온다.

    Declaration

    Objective-C

    - (ViewBase *_Nullable)getView:(NSString *_Nonnull)viewName;

    Swift

    func getView(_ viewName: String) -> ViewBase?

    Return Value

    viewName에 해당하는 subView. 없을경우 nil.

Cache Controls

  • Disk cache를 모두 삭제한다.

    Declaration

    Objective-C

    - (void)clearDiskCache;

    Swift

    func clearDiskCache()
  • Memory cache를 모두 삭제한다.

    Declaration

    Objective-C

    - (void)clearMemoryCache:(NSString *_Nonnull)viewName;

    Swift

    func clearMemoryCache(_ viewName: String)
  • ViewInfo Cache를 모두 삭제한다.

    Declaration

    Objective-C

    - (void)clearViewInfoCaches;

    Swift

    func clearViewInfoCaches()

Fonts

  • Label, GUI 등에 사용할 외부 폰트를 추가한다.

    OTF, TTF 포맷을 지원한다.

    Declaration

    Objective-C

    - (BOOL)addFontWithName:(NSString *_Nonnull)fontName
                   fontData:(NSData *_Nonnull)fontData;

    Swift

    func addFont(fontName: String, fontData: Data) -> Bool

    Return Value

    폰트 추가 결과. 성공시 True.

Properties

  • KMController event delegate

    Declaration

    Objective-C

    @property (nonatomic, weak, nullable) id<MapControllerDelegate> delegate;

    Swift

    weak var delegate: (any MapControllerDelegate)? { get set }
  • 엔진 활성화 여부

    Declaration

    Objective-C

    @property (nonatomic, readonly, getter=isEnginePrepared) BOOL enginePrepared;

    Swift

    var isEnginePrepared: Bool { get }
  • ProMotion display support 활성화 여부

    Declaration

    Objective-C

    @property (nonatomic, assign, unsafe_unretained, readwrite,
              setter=enableProMotionSupport:) BOOL proMotionSupport;

    Swift

    var proMotionSupport: Bool { get set }
  • 렌더링 하고 있는지 여부

    Declaration

    Objective-C

    @property (nonatomic, readonly, getter=isEngineActive) BOOL engineActive;

    Swift

    var isEngineActive: Bool { get }