我正在使用警报表来显示警报消息。我把警报表放在主线程中,我使用了更多这样的警报表但是在运行应用程序警报消息时出现。
但有时当用户在警告消息中单击“确定”按钮时。警报信息没有消失,我什么也做不了。我唯一能做的就是杀死应用程序并重新启动它。
我检查了日志文件以捕获问题。但是我无法从日志文件中获取问题,所有这些都是正常的,日志文件中没有崩溃。我检查了更多的参考,但我找不到问题出现的地方。这是示例代码。
var usersFromActiveDomains = [],
baseUsers = [
{
name: "sam"
},
{
name: "julie"
},
{
name: "jimbolina"
}
],
getFrequency = function (u) {
return u.name.length;
},
process = function (users) {
_.forEach ( users , function ( user ) {
console.log(user);
var freq = getFrequency(user);
if(freq) {
user.frequency = freq;
usersFromActiveDomains.push(user);
console.log('user', user);
}
});
return usersFromActiveDomains;
}
usersList2 = process(baseUsers);
console.log('baseUsers:',baseUsers);
console.log('usersFromActiveDomains:',usersFromActiveDomains);
console.log('usersList2:',usersList2);
问题是由线程引起的。这意味着两个方法同时被调用,或者问题出现在警报表中。
答案 0 :(得分:0)
我认为您使用“get_main”块在Main主机上完成了所有工作,所以当你真的不需要对主Tread执行繁重的任务时,请使用dispatch_async(dispatch_get_main_queue)
它会冻结你的UI和应用程序。