ios openURL на основе значения ячейки таблицы - PullRequest
0 голосов
/ 14 октября 2011

Дорогие мозги от переполнения стека, у меня опять проблемы с iOS ... Впрочем, я новичок в этом.

Я пытаюсь открыть сафари с URL-адресом, который включает параметр 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?&regno=%@", thisValue
                          ];

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString: thisPlateURL]];

    [thisPlateURL release];
}

Полагаю, это как-то связано со мной, если я не установил это значение должным образом, и я уверен, что пну себя, если кто-то обнаружит это, но я просто не вижу, в чем проблема.

Пожалуйста, помогите!

Ответы [ 2 ]

2 голосов
/ 14 октября 2011

Я думаю, что проблема в инициализации NSString:

попробуйте с:

NSString* thisPlateURL = [NSString stringWithFormat: @"http://www.site.co.uk?&regno=%@", thisValue];
0 голосов
/ 14 октября 2011

Вы неправильно инициализируете NSString - [NSString new], вы должны использовать [NSString alloc] вместо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...