У меня есть класс DataStore
, определенный в Objective C. Он имеет свойство controller
типа Controller
(класс, определенный в Swift).Оба класса находятся в одной цели Foo
.Когда я пытаюсь получить доступ к свойству controller
внутри класса Baz
, я получаю сообщение об ошибке:
Значение типа 'DataStore' не имеет члена 'controller'
Baz
написано на Swift и находится в той же цели Foo
.
DataStore.m
(цель Foo
)
#import <Foo/Foo-Swift.h>
@interface DataStore ()
@property (nonatomic, strong) Controller *controller;
@end
DataStore.h
(цель * 1023)*)
@class Controller;
@interface DataStore: NSObject
@property (readonly, strong, nonatomic) Controller *controller;
@end
Controller.swift
(цель Foo
)
@objc(NHController)
public class Controller: NSObject {
//
}
Baz.swift
(цель Foo
, используется в качестве другой цели)
class Bar {
func test() {
let dataStore = DataStore()
dataStore.controller // compiler error
}
}
Я пробовал чистить и строить дюжину раз.Я попытался очистить производные данные, но ничего не сделал.Я только что переместил Bar
к цели Foo
.У меня не было проблем с доступом к свойствам DataStore
раньше (когда Baz
было в другой цели.)