티스토리 뷰
반응형
callback URL 데이터를 가져다 쓸 경우 데이터를 뽑아야 하는데
한글이 있을 경우 NSURLComponents가 nil 로 떨어지는 이슈가 존재한다.
예외처리한 코드까지 추가하였다.
문자열에 %가 포함되어 있을 경우 parserURL = [문자열 stringByRemovingPercentEncoding] 처리후 사용하면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
NSString *parserURL = @"https://www.test.co.kr?product=test상품ABC&price=30000";
NSURLComponents *components = [NSURLComponents componentsWithString:parserURL];
if (components != nil) {
for (NSURLQueryItem *item in components.queryItems) {
if ([item.name isEqualToString:@"product"]) {
product = item.value;
}
if([item.name isEqualToString:@"price"]) {
price = item.value;
}
}
}else{
NSArray *dataAry = [parserURL componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"?"]];
NSArray *paramsAry = [[dataAry objectAtIndex:1] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"&"]];
NSMutableDictionary *tDic = [NSMutableDictionary dictionary];
for (int i =0; i<[paramsAry count]; i++) {
dataAry = [[paramsAry objectAtIndex:i] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"="]];
[tDic setObject:[dataAry objectAtIndex:1] forKey:[dataAry objectAtIndex:0]];
}
product = [tDic valueForKey:@"product"];
price = [tDic valueForKey:@"price"];
}
|
cs |
반응형
'iOS > 자료정리' 카테고리의 다른 글
[iOS]광고아이디( IDFA )수집 및 iOS14 대응 (0) | 2021.06.04 |
---|---|
[ios][object-c]javascript로 웹뷰와 통신중 json변환 및 확인 코드. (0) | 2018.08.20 |
[Xcode]Git 사용하기 전 .gitignore 설정하기. /첫 clone 후 branch merge가 되지 않을 경우. (0) | 2017.02.01 |
[iOS] APNS 인증서 생성 명령어 PHP/JSP 용. (0) | 2016.09.22 |
[iOS]Xcode8에서 시스템 Log 가 많이 나올경우 설정방법. (0) | 2016.09.21 |
댓글
반응형