Ahmed Elkhodery
08/19/2023, 3:24 PM- (void)viewDidLoad
{
[super viewDidLoad];
[[NSUserDefaults standardUserDefaults] addObserver:self
forKeyPath:@"SomeKey"
options:NSKeyValueObservingOptionNew
context:NULL];
// Testing...
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"test" forKey:@"SomeKey"];
[defaults synchronize];
}
- (void)viewDidUnload
{
[super viewDidUnload];
[[NSUserDefaults standardUserDefaults] removeObserver:self forKeyPath:@"SomeKey"];
}
- (void)observeValueForKeyPath:(NSString *) keyPath ofObject:(id) object change:(NSDictionary *) change context:(void *) context
{
if([keyPath isEqual:@"SomeKey"])
{
NSLog(@"SomeKey change: %@", change);
}
}
the interesting part is the self
in the addObserver
but how to implement that in kotlin nativeAhmed Elkhodery
08/19/2023, 3:27 PMobserveValueForKeyPath()
method in it but i'm not sure what is this function signature will beJeff Lockhart
08/19/2023, 3:59 PMAhmed Elkhodery
08/19/2023, 4:52 PMios {
compilations.all {
cinterops {
val observer by creating {
defFile(project.file("src/nativeInterop/cinterop/observer.def"))
packageName("kmp.observer")
}
}
}
}
but i'm always getting unresolved reference at kmp
in import kmp.observer
statmentAhmed Elkhodery
08/19/2023, 5:14 PMAhmed Elkhodery
08/19/2023, 5:17 PM