У меня проблема с чтением структурного класса Swift в задаче C. Мой структурный класс swift содержит код, который делает словарь нечувствительным к регистру.В swift это работает, но в цели c, когда я читаю значение словаря, я получаю ошибку «ожидаемого метода чтения элемента словаря, не найденного в объекте типа« CaseInsensitiveDictionary * »
// swift class
import Foundation
public struct MyDictionary<Key: Hashable, Value: NSValue>: Collection {
public typealias DictionaryType = Dictionary<Key, Value>
private var dictionary: DictionaryType
//Collection: these are the access methods
public typealias IndexDistance = DictionaryType.IndexDistance
public typealias Indices = DictionaryType.Indices
public typealias Iterator = DictionaryType.Iterator
public typealias SubSequence = DictionaryType.SubSequence
public var startIndex: Index { return dictionary.startIndex }
public var endIndex: DictionaryType.Index { return dictionary.endIndex }
public subscript(position: Index) -> Iterator.Element { return dictionary[position] }
public subscript(bounds: Range<Index>) -> SubSequence { return dictionary[bounds] }
public var indices: Indices { return dictionary.indices }
public subscript(key: Key)->Value? {
get { return dictionary[key] }
set { dictionary[key] = newValue }
}
public func index(after i: Index) -> Index {
return dictionary.index(after: i)
}
//Sequence: iteration is implemented here
public func makeIterator() -> DictionaryIterator<Key, Value> {
return dictionary.makeIterator()
}
//IndexableBase
public typealias Index = DictionaryType.Index
}
// to read
@property (retain, nonatomic) CaseInsensitiveDictionary *caseDic;
self.caseDic = (CaseInsensitiveDictionary *)fields.firstObject;
NSLog(@"caseDic name %@", self.caseDic[@"name"]);
вЖурнал, я хочу значение словаря.но я получаю сообщение об ошибке 'ожидаемый метод чтения элемента словаря, не найденного в объекте типа' CaseInsensitiveDictionary * '