NMCDefaultMarkerManager

@interface NMCDefaultMarkerManager : NSObject <NMCMarkerManager>

기본 NMCMarkerManager 구현체. 이 클래스를 이용하면 NMFMarker 객체가 재사용되어 성능이 향상됩니다. 대신 한 번 사용되었던 NMFMarker 객체의 속성이 초기화되지 않고 계속 남으므로 NMCClusterMarkerUpdaterNMCLeafMarkerUpdater에서 매번 NMFMarker의 속성을 지정해야 합니다. 단, 변하지 않는 속성이 있다면 createMarker:를 오버라이드해 NMFMarker의 속성을 생성 직후 한 번만 지정하도록 최적화할 수 있습니다.

  • 기본 생성자. 재사용 풀의 크기는 NMC_DEFAULT_MAX_POOL_SIZE로 지정됩니다.

    Declaration

    Objective-C

    - (nonnull instancetype)init;

    Swift

    init()
  • 재사용 풀의 크기를 지정하는 생성자.

    Declaration

    Objective-C

    - (nonnull instancetype)initWithMaxPoolSize:(NSInteger)maxPoolSize;

    Swift

    init(maxPoolSize: Int)

    Parameters

    maxPoolSize

    재사용 풀의 크기.

  • 풀로부터 NMCMarker 객체를 가져와 반환합니다. 풀이 비어있다면 createMarker:를 호출해 새로운 마커 객체를 생성합니다.

    Declaration

    Objective-C

    - (NMFMarker *_Nonnull)retainMarker:(NMCMarkerInfo *_Nonnull)info;

    Swift

    func retainMarker(_ info: NMCMarkerInfo) -> NMFMarker
  • NMFMarker 객체를 다시 사용할 수 있도록 풀로 반환합니다.

    Declaration

    Objective-C

    - (void)releaseMarker:(NMCMarkerInfo *_Nonnull)info:(NMFMarker *_Nonnull)marker;

    Swift

    func releaseMarker(_ info: NMCMarkerInfo, _ marker: NMFMarker)
  • 새로운 마커 객체를 생성합니다.

    Declaration

    Objective-C

    - (NMFMarker *_Nonnull)createMarker;

    Swift

    func createMarker() -> NMFMarker