最亲爱的stackoverflow大脑,我再次遇到iOS问题......虽然我是新手。
我正在尝试使用url打开一个safari,其中包含一个基于表格单元格值的URL参数。因此,如果表格单元格包含“堆栈”,我想转到“http://stack.com?param=stack”。这应该是一项简单的任务,但我无法让它发挥作用。
在我到达UIApplication线之前它已经失败了......所以我甚至都不知道这是否会奏效。我收到了这个错误:
2011-10-14 10:18:32.297 NPT[1085:207] *** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '*** initialization method -
initWithCharactersNoCopy:length:freeWhenDone: cannot be sent to an abstract object of
class NSCFString: Create a concrete instance!'
当我使用此代码时:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString* thisValue = [[[self.searchResults cellForRowAtIndexPath:indexPath] textLabel] text];
NSString* thisPlateURL = [
[NSString new]
initWithFormat:@"http://www.site.co.uk?®no=%@", thisValue
];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: thisPlateURL]];
[thisPlateURL release];
}
我猜这与我没有正确设置这个值有关,而且我确定如果有人发现它我会踢自己,但我只是看不出问题是什么。
请帮忙!
答案 0 :(得分:2)
我认为问题出在NSString初始化中:
尝试:
NSString* thisPlateURL = [NSString stringWithFormat: @"http://www.site.co.uk?®no=%@", thisValue];
答案 1 :(得分:0)
您正在以错误的方式初始化NSString
- [NSString new]
,您应该使用[NSString alloc]
而不是