Tristan
07/30/2021, 8:31 PMclass MyClass {
private val arrayQueue = ArrayQueue<String>()
fun save(item: String) {
arrayQueue.add(item);
}
val last: String
get() = arrayQueue.last()
}
I use it in objective C
+ (instancetype)sharedInstance {
static NativeClass *nativeClass = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
nativeClass = [[NativeClass alloc] init];
nativeClass.myClass = [[MyClass alloc] init];
});
return nativeClass;
}
First of all, accessing it was an issue just to get .last
, so I created a wrapper to get a frozen version.
fun getMyClass() = MyClass().freeze()
But by doing this, I cannot mutate it anymore kotlin.native.concurrent.InvalidMutabilityException: mutation attempt of frozen
How can I overcome this kind of issue?Tristan
07/30/2021, 8:50 PM