React-native bridging с одноэлементным классом Swift - PullRequest
1 голос
/ 02 апреля 2019

Сегодня я пытаюсь использовать свой собственный класс Swift, реализующий шаблон Singleton в моем коде Javascript.Я уже создал собственные модули, но сегодня у меня есть эта ошибка: " Неустранимая ошибка: использование нереализованного инициализатора 'init ()' для класса "

Я думаю, это потому, что шаблон Singleton, ноЯ не могу понять свою ошибку ...

Вот мой код:

AnalyticsTracker.swift

import Foundation
import Tracker


@objc(AnalyticsTracker)
class AnalyticsTracker: NSObject {


  static let shared = AnalyticsTracker(tracker: ATInternet.sharedInstance.defaultTracker)

  // MARK: -

  let tracker: Tracker

  // Initialization

  private init(tracker: Tracker) {
    self.tracker = tracker
  }

  @objc
  func viewScreen(screen: String) {
    self.tracker.screens.add(screen).sendView()
  }

  @objc
  func sendTouch(clickName: String, chapter1: String, chapter2: String, chapter3: String, level2: Int) {
    let gesture = self.tracker.gestures.add(clickName, chapter1: chapter1, chapter2: chapter2, chapter3:chapter3)
    gesture.level2 = level2
    gesture.sendTouch()
  }
}

И модуль для экспорта моего класса в мое приложение-реактив:

AnalyticsTracker.m

#import <Foundation/Foundation.h>
#import <React/RCTBridgeModule.h>

@interface RCT_EXTERN_MODULE(AnalyticsTracker, NSObject)

RCT_EXTERN_METHOD(
                  sendTouch:
                  (NSString*)clickName
                  (NSString*)chapter1
                  (NSString*)chapter2
                  (NSString*)chapter3
                  (int)level2
)

@end

Ошибка исчезает при удалении модуля экспорта.Я действительно не понимаю, что означает ошибка ...

Если у кого-то есть идея, она будет очень признательна :)

1 Ответ

0 голосов
/ 02 апреля 2019

вы наследуете NSObject, поэтому вы должны предоставить открытый конструктор init, который инициализировал бы ваше свойство tracker.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...