切换输入法导致的程序崩溃问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了切换输入法导致的程序崩溃问题相关的知识,希望对你有一定的参考价值。
有时候Alt+Tab快速切换到一个窗口,比如IE某个网页窗口,或某个游戏窗口,或提取了QQ消息,然后我Ctrl+空格快速切换输入法,然后一输入拼音打空格,切换到的那个程序就崩溃,就是BIU的一下消失了。
尝试过的输入法有:智能ABC,紫光,搜狗,都出现过这种情况。
貌似操作比较慢的时候很少出现,系统应该是完好无损的,也很少安装垃圾插件,360安全卫士评满分的,卡巴没任何报告。
我表达能力比较差,不知道各位大大看懂没,我想知道怎么杜绝这种现象的发生,重做系统或换输入法之类的回答不要了,先谢谢了~
首先任务栏上的输入法图标上点右键选择设置。
然后选择键设置,第一个“在不同的输入语言之间切换”先勾选“切换输入语言”下面选择左手ALT。取消右边“切换键盘布局”前的勾。
然后进入“中文(简体)输入法 - 输入法/非输入法切换”,取消“启用按键顺序”前的勾。一路都确定后推出设置。
再次进入设置,进入“在不同的输入语言之间切换”,把右边那个打上勾。确定后退出。
二.另外一种方法
1.控制面板-区域和语言选项-语言(标签)-详细信息-设置(标签)-键设置。
2.要关闭Caps lock键选中。
3.在不同的输入语言之间切换(这里可以点击进入)----左边Alt+Shift
4.点击进入后,左边的选左手ALT(A) 右边的选CTRL(T)
三.问题原因
有时候也可能是输入法之间或和其他软件之间出现热键冲突了,如果你最近安装过一些不是大众化的软件,那么开启后检查是否有软件的热键快捷组合与输入法的起冲突了(比如有些人把输入法切换设置为CTRL+空格,但装了MSN之后,在使用MSN时想切换输入法按下CTRL+空格系统会默认锁定MSN,因为MSN把CTRL+空格设置为自己的锁定热键,谁叫它是微软自己的软件呢)
如果在找不出其他软件热键冲突的情况下,建议删除所有输入法后重新启动电脑,再在控制面板-日期、时间、语言和区域设置-区域和语言选项-语言-详细信息-添加你需要的输入法(建议先加入一种汉字输入法)试试 参考技术A 把扣扣退了重新登录就好了追问
不挖坟就更好了
创建 NSError * 导致应用程序崩溃
【中文标题】创建 NSError * 导致应用程序崩溃【英文标题】:Creating NSError * results in application crash 【发布时间】:2014-11-25 21:55:21 【问题描述】:我有以下情况:
我的域类得到一些输入来验证它,如果验证通过,它会继续保存数据。 当控制流到达 if 语句时,应用程序崩溃
- (BOOL)createGmailAccountWithName:(NSString *)name
email:(NSString *)email
andPassword:(NSString *)password
error: (NSError **) error
if (!name || name.length == 0)
*error = [self createError:@"name"];
return NO;
if (!email || email.length == 0)
*error = [self createError:@"email"];
return NO;
if (!password || password.length == 0)
*error = [self createError:@"password"];
return NO;
//..
-(NSError *) createError: (NSString *) field
NSString *errorMessage = [NSString stringWithFormat:@"Property %@ is required", field];
NSDictionary *userInfo = @
NSLocalizedFailureReasonErrorKey: NSLocalizedString(errorMessage, nil)
;
NSError *error = [NSError errorWithDomain:ACCOUNT_STORE_ERROR_DOMAIN
code:-1
userInfo:userInfo];
return error;
当我注释掉所有发生验证的行时,应用程序不会崩溃。 我不知道为什么会这样。谁能指出我正确的方向?
【问题讨论】:
您确定调用 createGmail 方法时带有错误对象吗?如果用 NULL 调用它,你会崩溃。您应该在取消引用之前检查该错误!= NULL。 它们不是用错误对象调用的。其实我只是想传入一个空指针,当验证失败时,它指向一个错误对象 好的,看看我发布的答案是否解决了这个问题。 【参考方案1】:如果你有这个方法:
- (BOOL)createGmailAccountWithName:(NSString *)name
email:(NSString *)email
andPassword:(NSString *)password
error: (NSError **) error
人们可能会这样称呼它:
NSError *error;
[accountCreator createGmailAccountWithName:@"Ben"
email:@"foo@example.com"
andPassword:@"pwd"
error:&error];
if (error)
NSLog(@"Hey I got an error: %@", error);
或者像这样:
[accountCreator createGmailAccountWithName:@"Ben"
email:@"foo@example.com"
andPassword:@"pwd"
error:NULL];
// I couldn't care less about an error
在第二种情况下,您的代码将尝试取消引用**error
,*error
不是有效指针,会导致崩溃。
【讨论】:
需要注意的是Cocoa约定是使用直接返回值——而不是if(error)
——来判断是否传回了一个有效的错误对象。
@JoshCaswell 同意,尽管您会看到即使在 Cocoa 本身中也违反了约定。以上是关于切换输入法导致的程序崩溃问题的主要内容,如果未能解决你的问题,请参考以下文章