我有一个函数,可以为一组不规则大写单词进行纠正大小写的操作:
var line = "some long string of text";
["AppleScript", "Bluetooth", "DivX", "FireWire", "GarageBand",
"iPhone", "iTunes", "iWeb", "iWork", "JavaScript", "jQuery", "MacBook",
"MySQL", "PowerBook", "PowerPoint", "QuickTime", "TextEdit", "TextMate",
// ...
"Wi-Fi", "Xcode", "Xserve", "XMLHttpRequest"].forEach(function(name) {
line = line.replace(RegExp(name, "gi"), name);
});
现在我面临的问题是,大多数输入字符串平均包含0到3个这些单词。显然,我正在进行几十次(甚至可能是数百次;该数组有一种神奇的倾向随着时间的推移而增长)基本上什么也不做的函数调用。
如何使此代码更快并摆脱不必要的函数调用?
示例输入:
我的iPhone应用程序在UIViewController下有一个用户表单。当我再次启动应用程序时,我的某些UIView会改变其位置和大小。(这些UIView依赖于键盘位置)某处肯定是我的错。我尝试弄清楚当应用程序从后台重新启动时发生了什么以及可以进行UIView更改的位置。