小编SMA*_*012的帖子

如何在NSString中获取子字符串的NSRange?

NSString *str = @" My name is Mike, I live in California and I work in Texas. Weather in California is nice but in Texas is too hot...";
Run Code Online (Sandbox Code Playgroud)

我怎样才能遍历这个NSString并为每次出现的"California"获取NSRange,我想要NSRange,因为我想在NSAttributed字符串中更改它的颜色.

 NSRange range = NSMakeRange(0,  _stringLength);
 while(range.location != NSNotFound)
 {
    range = [[attString string] rangeOfString: @"California" options:0 range:range];


    if(range.location != NSNotFound)
    {

        range = NSMakeRange(range.location + range.length,  _stringLength - (range.location + range.length));


        [attString addAttribute:NSForegroundColorAttributeName value:_green range:range];
    }
}
Run Code Online (Sandbox Code Playgroud)

nsstring uitextview nsattributedstring ios nsrange

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

如何下载JSON数据并在iOS中的后台线程中处理它?

我需要下载JSON并在iOS5的后台处理它,所以我不冻结我的主线程.我没有取得任何成功.

这是我在做的事情:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{

    NSURL *url = [NSURL URLWithString:myURL];
    myData = [NSData dataWithContentsOfURL:url];

    [self performSelectorOnMainThread:@selector(processTheData:)
                           withObject:myData
                        waitUntilDone:YES];
}); 

-(void)processTheData:(NSData *)data
{
    //Parse JSON here
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,一旦下载完成,我在Main thrd处理它.当我知道我得到数据时,如何在后台运行它?

multithreading grand-central-dispatch ios

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