【求教】官方的cocos-example-projects工程。请教一个oc的问题

#include <iostream>
#include <string>
#include "JsbBridgeTest.h"
#import <Foundation/Foundation.h>
#import "cocos/platform/apple/JsbBridgeWrapper.h"
@implementation JsbBridgeTest{
}

-(id)init{
    self = [super init];
    JsbBridgeWrapper* m = [JsbBridgeWrapper sharedInstance];
    OnScriptEventListener requestLabelContent = ^void(NSString* arg){
        
          ///////// 这里加了这行调用,运行时总是报错,不知道原因。//////
         [self login]; 
         ////////////////////////////////////////////////////

        JsbBridgeWrapper* m = [JsbBridgeWrapper sharedInstance];
        [m dispatchEventToScript:@"changeLabelContent" arg:@"Charlotte"];
    };
    OnScriptEventListener requestLabelColor = ^void(NSString* arg){
        JsbBridgeWrapper* m = [JsbBridgeWrapper sharedInstance];
        [m dispatchEventToScript:@"changeLabelColor"];
    };
    OnScriptEventListener requestBtnColor = ^void(NSString* arg){
        JsbBridgeWrapper* m = [JsbBridgeWrapper sharedInstance];
        [m dispatchEventToScript:@"changeLightColor"];
    };
    [m addScriptEventListener:@"requestLabelContent" listener:requestLabelContent];
    [m addScriptEventListener:@"requestLabelColor" listener:requestLabelColor];
    [m addScriptEventListener:@"requestBtnColor" listener:requestBtnColor];
    
    [m addScriptEventListener:@"removeJSCallback" listener:^void(NSString* arg){
        JsbBridgeWrapper * m = [JsbBridgeWrapper sharedInstance];
        [m removeAllListenersForEvent:@"requestBtnColor"];
    }];
    return self;
}


@end

以上是官方的 JsbBridgeTest.mm 代码,我上面在 block 中加了一行代码,注释位置处。 程序运行总是报错EXC_BAD_ACCESS,是啥原因?

网上的各种:

__weak __typeof ( self ) weakSelf = self ;

__block MyScreen* me = self;

都试过没用。

会不会是mrc下没有retain导致的

应该不是,官方的 MyIOSPlatform.mm 代码里有:
jsbBridgeTest = [JsbBridgeTest **new** ];

我怀疑是因为那个 block 存储在 NSMutableDictionary 中执行,导致的self 运行时报错,但是不知道怎么解决。。

解决了 我也遇到一样的问题。一直崩溃


这样可以解决