标签: nsrange

NSMutableRLEArray objectAtIndex:effectiveRange ::越界

我尝试将属性分配给3个newClock字符串的最后一个字符,即@"3:33:23".

但是我在构造时遇到错误NSRange:

NSMutableAttributedString *mas = [[NSMutableAttributedString alloc]initWithString:newClock];
[mas addAttributes:@{NSForegroundColorAttributeName:[UIColor grayColor],
NSFontAttributeName:[UIFont fontWithName:@"HelveticaNeue-Light" size:12]}
 range:NSMakeRange(newClock.length-3,newClock.length)];
Run Code Online (Sandbox Code Playgroud)

objective-c nsrange nsrangeexception ios7

12
推荐指数
1
解决办法
2万
查看次数

无法将'NSRange'(又名'_NSRange')类型的值转换为预期的参数类型'Range <Index>'(又名'Range <String.CharacterView.Index>')

我的代码中有一个错误,例如"无法将类型'NSRange'(又名'_NSRange')的值转换为预期的参数类型'Range'(又名'Range')"但我不知道如何解决这个问题请任何一个帮我?

在这里,我发布我的代码.

NSUserDefaults.standardUserDefaults().setObject("Hey I have started using this Chat App", forKey: "Status")
            var strNumber: String = txtPhoneNumber.text!
            var myRange: NSRange = NSMakeRange(0, 2)
            var myRange1: NSRange = NSMakeRange(0, 1)
            var ran: String = strNumber.substringWithRange(myRange)  ------>  //This line error shows.
            var ran1: String = strNumber.substringWithRange(myRange1)
            if (ran == "00") || (ran == "60") || (ran == "62") || (ran == "65") || (ran == "91") || (ran == "44") {
                strNumber = strNumber.stringByReplacingOccurrencesOfString(ran, withString: "") as String
            }
            else if (ran1 …
Run Code Online (Sandbox Code Playgroud)

nsrange swift

12
推荐指数
2
解决办法
2万
查看次数

NSMutableAttributedStrings - objectAtIndex:effectiveRange ::越界

我试图在标签上添加一些花哨的文本,但是我遇到了NSMutableAttributedString类的一些问题.我试图实现四个:1.更改字体,2.下划线范围,3.更改范围颜色,4.上标范围.

这段代码:

- (void)applicationDidFinishLaunching:(NSNotification*)aNotification
{
    NSMutableAttributedString* display = [[NSMutableAttributedString alloc]
                                          initWithString:@"Hello world!"];
    NSUInteger length = [[display string]length] - 1;

    NSRange wholeRange = NSMakeRange(0, length);
    NSRange helloRange = NSMakeRange(0, 4);
    NSRange worldRange = NSMakeRange(6, length);

    NSFont* monoSpaced = [NSFont fontWithName:@"Menlo" 
                                         size:22.0];

    [display addAttribute:NSFontAttributeName
                    value:monoSpaced
                    range:wholeRange];

    [display addAttribute:NSUnderlineStyleAttributeName 
                    value:[NSNumber numberWithInt:1] 
                    range:helloRange];

    [display addAttribute:NSForegroundColorAttributeName 
                    value:[NSColor greenColor]
                    range:helloRange];

    [display addAttribute:NSSuperscriptAttributeName 
                    value:[NSNumber numberWithInt:1] 
                    range:worldRange];

    //@synthesize textLabel; is in this file.
    [textLabel setAttributedStringValue:display];
}
Run Code Online (Sandbox Code Playgroud)

给我这个错误:

NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds
Run Code Online (Sandbox Code Playgroud)

此外,我尝试搞乱范围,但当我尝试时变得更加困惑NSRange worldRange = NSMakeRange(4, 5); …

macos objective-c nsattributedstring nsrange

11
推荐指数
2
解决办法
1万
查看次数

创建具有给定最小值和最大值的NSRange

我有一个int64_t值的集合,我需要建立一个索引.我以前用过:

NSIndexSet *set = [NSIndexSet indexSetWithRange:NSMakeRange(location, length)];
Run Code Online (Sandbox Code Playgroud)

制作索引集,但这次我不清楚我将如何根据我的信息做到这一点.

细节:我有一组价值观.我知道集合中的最高值,集合中的最低值以及集合中的值的数量.但是,这些值不一定是连续的.

例如,如果我有以下值:1,3,4,6,7,9我想创建一个包含集合中所有数字的集合,包括1和9之间,即set = 1-9.

我该怎么做?

编辑

我不应该说我有一个整数的"集合",而是 - 我有对象存储在核心数据中,每个对象都有一个与之关联的int64_t属性,所以我没有指向实际的对象集合的指针,我想避免只是为了创建一个集合来获取对象.

objective-c nsindexset nsrange

11
推荐指数
1
解决办法
1万
查看次数

从字符串中获取范围

我想检查一个字符串是否只包含数字.我遇到了用Objective-C编写的这个答案.

NSRange range = [myTextField.text rangeOfCharacterFromSet:[NSCharacterSet letterCharacterSet]];
if(range.location == NSNotFound) {
    // then it is numeric only
}
Run Code Online (Sandbox Code Playgroud)

我尝试将其转换为Swift.

let range: NSRange = username.rangeOfCharacterFromSet(NSCharacterSet.letterCharacterSet())
Run Code Online (Sandbox Code Playgroud)

我遇到的第一个错误是我分配了类型NSRange.

无法转换表达式的类型'Range?' 输入'NSRange'

所以我删除了NSRange,错误就消失了.然后在if语句中,

let range = username.rangeOfCharacterFromSet(NSCharacterSet.letterCharacterSet())
if range.location == NSNotFound {

}
Run Code Online (Sandbox Code Playgroud)

我遇到了另一个错误.

'范围?' 没有名为'location'的成员

请注意,变量username的类型String不是NSString.所以我猜Swift使用它的新Range类型而不是NSRange.

问题我不知道如何使用这种新类型来实现这一目标.我也没有遇到过任何文档.

任何人都可以帮我把这个代码转换成Swift吗?

谢谢.

range ios nsrange swift ios8

11
推荐指数
1
解决办法
6621
查看次数

如何在lldb中创建和使用temp NSRange?

NSRange只是一个C结构.我想在断点处在Xcode中的lldb中创建一个临时的.

专门用于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
Run Code Online (Sandbox Code Playgroud)

我的代码有一个badRange在断点处命名的NSRange var ,并将其传递给了.从而:

(lldb) expr -o -- [items indexOfObject:item4 inRange:badRange]
0x7fffffffffffffff
(lldb) expr badRange
(NSRange) $1 = location=0, length=3
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?

谢谢.

struct ios nsrange lldb

10
推荐指数
1
解决办法
439
查看次数

如何从开头到指定字符选择字符串?

如何从开头到指定字符选择字符串?

例如,在下面的新闻标题中......

someString = @"Los Angeles, California - Apple announces something, stock prices change."

如何选择Los Angeles, California -单独的字符串?(我希望在-("破折号")角色之前选择所有内容.

编辑:

说我的标题看起来像这样:

someString = @"Los Angeles, California - Apple announces something - stock prices change."

如何防止我的位置字符串看起来像这样:Los Angeles, California - Apple announces something

编辑:

我的错误,我正在移除第一个破折号,然后重新发现字符串.我的错误是发布的答案有效.

substring objective-c nsstring ios nsrange

9
推荐指数
1
解决办法
1万
查看次数

来自removeObjectsInRange的NSRangeException:但传递的范围在边界内

我收到下面的错误,这没有任何意义.

*由于未捕获的异常'NSRangeException'终止应用程序,原因:'* - [NSMutableArray removeObjectsInRange:]:范围{11,15}超出边界[0 .. 15]'

我在这做错了什么?我在数组的范围内.删除数组中的最后一个对象会导致问题吗?

cocoa-touch objective-c nsmutablearray nsrange

9
推荐指数
1
解决办法
6892
查看次数

在NSAttributedString API中使用Range <Index>和NSRange

我正在尝试确定a中给定字符串出现的索引String,然后NSRange使用这些索引生成一个以便为a添加属性NSMutableAttributedString.问题是rangeOfString退货,Range<Index>addAttributes:range:预计会有NSRange.我尝试NSRange从开始和结束索引创建Range失败,因为String.CharacterView.Index不是Int,因此它不会编译.

如何使用Range<Index>值来创建NSRange

var originalString = "Hello {world} and those who inhabit it."

let firstBraceIndex = originalString.rangeOfString("{") //Range<Index>
let firstClosingBraceIndex = originalString.rangeOfString("}")

let range = NSMakeRange(firstBraceIndex.startIndex, firstClosingBraceIndex.endIndex)
//compile time error: cannot convert value of type Index to expected argument type Int

let attributedString = NSMutableAttributedString(string: originalString)
attributedString.addAttributes([NSFontAttributeName: boldFont], range: range)
Run Code Online (Sandbox Code Playgroud)

range nsattributedstring ios nsrange swift

9
推荐指数
1
解决办法
7842
查看次数

在NSMutableAttributedString中找到子串的Rang

我有像这样的"@Mervin测试员"的表情符号的AttributedString

现在我需要在这个属性String中找到一系列Mervin.

let attributedString = NSMutableAttributedString(string: " @Mervin tester ")

let range = // range for "Mervin" in above String. 
Run Code Online (Sandbox Code Playgroud)

谢谢.

nsattributedstring nsrange nsmutableattributedstring swift

9
推荐指数
1
解决办法
4118
查看次数