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) 我需要下载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处理它.当我知道我得到数据时,如何在后台运行它?