NSDictionary 在设置参数时导致线程 1 断点

Posted

技术标签:

【中文标题】NSDictionary 在设置参数时导致线程 1 断点【英文标题】:NSDictionary is causing a Thread 1 breakpoint when setting parameters 【发布时间】:2015-09-08 06:13:49 【问题描述】:

我试图在将 base64 图像发送到网站后接收结果,它应该能够分析图像。每当我尝试这个时,虽然我得到一个线程 1 断点发生在

NSDictionary *data = @@"data" : [image base64Encoding];

我不确定是什么导致了这样的错误,但它一直在这样做。

- (void)contentFilteringAnalysis:(UIImage *)image completionHandler:(LQDictionaryCompletionBlock)completion

NSDictionary *data = @@"data" : [image base64Encoding];
[self.manager POST:[self urlStringFor:kIndicoContentFiltering]
        parameters:data
           success:^(NSURLSessionDataTask *task, id responseObject) 
               if (completion) 
                   completion(responseObject, nil);
               
           
           failure:^(NSURLSessionDataTask *task, NSError *error) 
               if (completion) 
                   completion(nil, error);
               
           ];

任何帮助将不胜感激

编辑

【问题讨论】:

异常日志/消息说明了什么? 只是(lldb) 不,不是。去谷歌 LLDB 是什么。 如果它只是一个 (lldb) 那么你只需在 Xcode 中的这一行放置一个断点。 【参考方案1】:

尝试将您的 UIImage 转换为 NSData 之前,例如:

NSData *imageData = UIImageJPEGRepresentation(image, 1.0);

NSDictionary *data = @@"data" : [imageData base64Encoding];

【讨论】:

参考您的评论,我尝试在此行上放置一个断点,但它仍然崩溃,好像它在我尝试接收 @"data" 的第二次崩溃 请看一下您的截图,您没有使用 imageData,但仍在尝试对可能导致问题的图像进行编码。 所以我应该改用 imagedata 吗?

以上是关于NSDictionary 在设置参数时导致线程 1 断点的主要内容,如果未能解决你的问题,请参考以下文章

从原理上搞懂如何设置线程池参数大小?

在针对 iOS 8.4 SDK 使用 Crashlytics 3.3.4 构建时,类型参数不能应用于非参数化类“NSDictionary”

多线程到底该设置多少个线程?

NSDictionary 按字母顺序排序[重复]

将 NSData 与 NSDictionary 参数一起传递给 Web 服务

当我分配 NSError userInfo 来设置 NSDictionary 时,为啥我的应用程序会崩溃?