Tag: nsrange

为什么我的NSRange总是0?

我想为我的计算器应用程序实现一个删除键。 我的伪代码是这样的: foo = length of current number bar = length of current number-1 current number = current number with character at index (foo-bar) removed 要在objective-c中做到这一点,我试图用NSRange函数以及StringbyappendingString方法实现这个: – (IBAction)DelPressed { if ([self.display.text length] >=2) { int len = [self.display.text length];//Length of entire display //Add to the brainlong printing out the length of the entire display self.brainlog.text […]

使用字符分隔符在Swift中查找和突出显示文本

我以前开发了一个android应用程序,作为用户的参考指南。 它使用了一个sqlite数据库来存储信息。 数据库存储没有格式的UTF-8文本(即粗体或下划线) 为了突出显示需要格式化的文本部分,我特别使用分隔符标记来包围它们,因为这不会作为信息出现在数据库中。 在向用户显示文本之前,我编写了一个方法来查找这些分隔符,并为其中包含的文本添加格式并删除分隔符。 所以$$ foo $$变成了foo 。 我的Java代码如下所示: private static CharSequence boldUnderlineText(CharSequence text, String token) { int tokenLen = token.length(); int start = text.toString().indexOf(token) + tokenLen; int end = text.toString().indexOf(token, start); while (start > -1 && end > -1) { SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(text); //add the formatting required spannableStringBuilder.setSpan(new UnderlineSpan(), start, end, […]

如何在lldb中创build和使用临时NSRange?

NSRange只是一个C结构。 我想在断点处在Xcode中创build一个临时的。 专门用于NSArray方法objectAtIndex:inRange: 这不起作用。 (lldb) expr NSRange $tmpRange = (NSRange){0,4} (lldb) expr $tmpRange (NSRange) $tmpRange = location=0, length=4 (lldb) expr -o — [items indexOfObject:item4 inRange:$tmpRange] error: no matching constructor for initialization of 'NSRange' (aka '_NSRange') error: 1 errors parsing expression 我的代码在断点处有一个名为badRange的NSRange var,并将其传递给作品。 从而: (lldb) expr -o — [items indexOfObject:item4 inRange:badRange] 0x7fffffffffffffff (lldb) expr badRange (NSRange) […]

无法将types'NSRange'(aka'_NSRange')的值转换为期望的types'Range <Index>'(又名'Range <String.CharacterView.Index>')

在检查string范围时得到此错误… @objc func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let shouldChange = false let text = textField.text var newString = text!.stringByReplacingCharactersInRange(range, withString: string) as? NSString if newString.length > 14{ newString = newString.substringToIndex(14) } textField.text = newString.uppercaseString return shouldChange }

NSRangeException:调用堆栈不显示行号

我得到以下索引越界错误: *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array' *** First throw call stack: (0x2263052 0x24c7d0a 0x224fdb8 0x2f4a7 0x2264ec9 0x81e299 0x81e306 0x75aa30 0x75ac56 0x741384 0x734aa9 0x39a9fa9 0x22371c5 0x219c022 0x219a90a 0x2199db4 0x2199ccb 0x39a8879 0x39a893e 0x732a9b 0x1e5b 0x1dc5 0x1) 我确切地知道这个错误是什么意思,但是我发现这些错误很难修复,因为由于某种原因,调用堆栈并没有告诉我数组被调用的那一行代码。 这是来自线程1的调用堆栈: #0 0x9706d9c6 in __pthread_kill () […]

在Objective-C中使用偏移量和使用子string获取NSString中字符的索引

我有一个string! NSString *myString=[NSString stringWithFormat:@"This is my lovely string"]; 我想要做的是: 假设string中的第一个字符在索引0处。转到第11个字符(在上面的例子中是'l'),并且向后find第一个出现空间的位置(在上面的string中,第一个出现空间的位置如果我们从'l'倒退到位置10)。 我们称这个空间的“leSpace”的索引值为10。 使用…将剩余的string子string… [myString substringFromIndex:leSpace] …我希望我解释得很好。 请帮忙,你可以写一个片段或什么来帮助我做这个任务?

应该如何在Swift中更改字符?范围?

我正在使用shouldChangeCharactersInRange作为使用即时typessearch的一种方式。 不过,我有一个问题,在文本字段实际更新之前调用shouldChangeCharactersInRange : 在Objective C中,我使用下面的方法解决了这个问题: -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSString * searchStr = [textField.text stringByReplacingCharactersInRange:range withString:string]; return YES; } 不过,我试过在Swift中写这个: func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool { let txtAfterUpdate:NSString = self.projectSearchTxtFld.text as NSString txtAfterUpdate.stringByReplacingCharactersInRange(range, withString: string) self.callMyMethod(txtAfterUpdate) return true } 在获取值之前,该方法仍然被调用?

如何在NSLog中打印NSRange

说我的范围创build为 NSRange myRange = {0,100}; 如何在NSLog中打印myRange ? 以下是不工作 NSLog(@"my range is %@",myRange);

将selectedTextRange UITextRange转换为NSRange

我怎样才能将UITextRange对象转换为NSRange ? 我已经看到很多关于走向另一个方向的SOpost,但这是我所需要的相反。 我使用的UITextRange selectedTextRange这是一个UITextView的属性。 它返回一个UITextRange但我需要一个范围。