该解码器只会解码采用 NSSecureCoding 的类

2024-02-16

从 AppDelegate 我称之为:

-(void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply{

    [SavedSearchesHack getAllMatches:^(MatchCollection * _Nonnull matchCollection) {
        reply(@{@"response" : matchCollection});
    }];
}

然后我在调用回复时收到此错误:

*** 由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“此解码器将仅解码采用 NSSecureCoding 的类。类“Test.MatchCollection”不采用它。

    public class func openParentApplication(userInfo: [NSObject : AnyObject], 
    reply: (([NSObject : AnyObject], NSError?) -> Void)?) -> Bool

只要我返回简单的对象,如“test”而不是 MatchCollection,我就不会收到错误。


add in .h file

 // just the protocol

@interface PacketH: NSObject<NSSecureCoding>

add in .m file

+ (BOOL)supportsSecureCoding {
   return YES;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

该解码器只会解码采用 NSSecureCoding 的类 的相关文章

随机推荐