我正在制作一个iPhone应用程序,它有我自己的自定义文本视图,可以显示多格式文本,我需要以某种方式与键盘交互.现在我使用隐藏的UITextField和委托方法textField:shouldChangeCharactersInRange:replacementString:来获取键入的字符.然而,这感觉很糟糕,我想知道是否可以显示键盘并在不使用UITextField或UITextView的情况下获得每个按键的通知?
谢谢,
凯尔
我在Objective-C中编写了一个iPhone应用程序,它在视图中使用了一些自定义绘图,我想对我的代码的各种修订进行基准测试,看看它真正有用.我正在计划这样做,通过设置一个新的应用程序,将我的自定义绘图代码添加到视图的drawRect:方法,然后,在视图控制器的for循环中,发送[UIView setNeedsDisplay]大量的次数并计算需要多长时间去完成.然而,setNeedsDisplay调用似乎是缓存的,所以即使我在for循环中调用它1000次,该drawRect:方法只被调用一次.此外,我尝试直接调用drawRect:但我需要一个图形上下文来做一些绘图,当我不使用setNeedsDisplay:UIGraphicsGetCurrentContext()时没有给我一个上下文.
有什么建议?
谢谢,
凯尔
我正在使用正则表达式处理数学表达式解析器,我正在尝试添加对括号的支持.
我的解析器的工作方式如下:
function parse_expression(expression){
Find parenthetical expressions
Loop through parenthetical expressions, call parse_expression() on all of them
Replace parenthetical expression with value of expression
Find value of expression
Return value
}
Run Code Online (Sandbox Code Playgroud)
因为它是递归的,我只需找到最外面的括号表达式.例如,如果我正在解析字符串"(5 +(4 +(3/4)+(3*2)+ 2))+(1 + 2)",我想找到表达式"5 +(4 + (3/4)+(3*2)+ 2)"和"1 + 2".你如何用正则表达式做到这一点?
我现在的正则表达式("\(([^ \]] +)\)")只返回"5 +(4 +(3*2",它没有得到完整的第一个表达式,它没有得到第二个.
有任何想法吗?
谢谢,
凯尔
我正在实现一个带语法高亮的自定义文本编辑器,我想将它集成到OS 3.0剪贴板系统中.所以,我的问题是,有没有办法以编程方式设置/读取系统范围的剪贴板?
谢谢,
凯尔