Как использовать значения, разделенные запятыми, полученные из URL-запроса в Objective-c? - PullRequest
1 голос
/ 17 марта 2010

Как использовать значения через запятую, полученные из URL-запроса в Objective-c? когда я запрашиваю URL, я получаю csv, например («OMRUAH = X», 20.741, «16.03.2010», «1:52 pm», 20.7226,20.7594). Как мне получить и использовать это для моего приложения?

Ответы [ 2 ]

0 голосов
/ 10 февраля 2011

Я недавно имел дело с разбором CSV для Yahoo! Финансы тоже. Я использовал Ragel , чтобы написать парсер на C, который был достаточно хорош для CSV, который я получал. Он обрабатывал все, кроме уклонившихся котировок, которые не будут сильно проявляться в котировках акций. Это было довольно безболезненно и хороший опыт обучения. Я бы выложил код, но он работал напрокат, поэтому я не владею им.

Превратить строку C в NSString легко. Если у вас есть NSData, как вы, вероятно, делаете в конце загрузки URL-адреса, просто выполните [[NSString alloc] initWithData:csvData encoding:NSUTF8StringEncoding]. Если у вас есть указатель на символьный буфер, используйте [[NSString alloc] initWithBytes:buffer length:buflen encoding:NSUTF8StringEncoding]. buflen может быть strlen(buffer), если buffer является нормальной строкой C, заканчивающейся NUL.

0 голосов
/ 17 марта 2010

У вас есть два варианта:

Используйте анализатор CSV: http://freshmeat.net/projects/ccsvparse

Или самостоятельно проанализируйте данные в массив:

// myString is an NSString object containing your data
NSArray *array = [myString componentsSeparatedByString: @","];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...