Я использую JavaScriptCore
, затем я создал XXProtocol
протокол, который наследует JSExport
, а также создал oc-класс JSModel
, следующий за XXProtocol
.Но когда я выполню [context setObject:jsObject forKeyedSubscript:@"ttf"]
;После того, как viewcontroller
выпущено, но jsmodel
не выпущено.
JSModel
#import <Foundation/Foundation.h>
#import <JavaScriptCore/JavaScriptCore.h>
NS_ASSUME_NONNULL_BEGIN
@protocol XXProtocol <JSExport>
- (void)nslog:(NSString *)str;
@end
@interface JSModel : NSObject <XXProtocol>
@end
NS_ASSUME_NONNULL_END
ViewController.m
Впрыск jsmodel
в context
- (void)notifacationAction:(NSNotification *)notification {
JSContext *context = notification.object;
JSModel *jsObject = [JSModel new];
[context setObject:jsObject forKeyedSubscript:@"ttf"];
}
viewController
действительно выпущен.
- (void)dealloc {
NSLog(@"%@ 释放了",[[self class] description]);
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
jsmodel
не выпущен.