2013-06-16 2 views
1

알았어 객관적인 C를 처음 접했고 스택 오버 플로우 커뮤니티를 신경 쓰지 않고 혼자서 배우기 위해 열심히 노력하고 있지만 실제로는 완전히 다릅니다 (C++).목표 C 배열 수 문자열 문제

그러나 나는 내 인생에 대해 알아 내지 못하는 문제를 발견했으며, 그것은 바보 같은 일이 될 것이라고 확신한다. 하지만이 코드를 사용하여 iOS 응용 프로그램에 표시 할 웹 사이트에서 질문과 답변을 가져옵니다.

NSString * GetUrl = [NSString stringWithFormat:@"http://www.mywebpage.com/page.php"]; 
NSString * GetAllHtml = [NSString stringWithContentsOfURL:[NSURL URLWithString:GetUrl] encoding:1 error:nil]; 

NSString *PullWholeQuestion = [[GetAllHtml componentsSeparatedByString:@"<tr>"] objectAtIndex:1]; 
NSString *FinishWholeQuestion = [[PullWholeQuestion componentsSeparatedByString:@"</tr>"] objectAtIndex:0]; 

내가 웹 페이지의 모든 정보를 얻을 후 나는 각 질문을 제거하고 나는 거기에 얼마나 많은 배열 옵션을 계산해야하므로 기본적으로 질문을 당겨 루프 처리를 할 것입니다 곳을 만들고 싶어 변수

FinishedWholeQuestion 나는 거기에 예를 작동 듯이 조각을 온라인으로 발견하지만 난 그게

NSArray *stringArray = [NSArray arrayWithObjects:@"1", @"2", nil]; 
NSLog(@"count = %d", [stringArray count]); 
+0

에 오신 것을 환영합니다 SO, 당신은 [투어] (http://stackoverflow.com/about)해야합니다. –

답변

3

"componentsSeparatedByString"는있는 NSArray 객체가 아닌 하나는 NSString을 반환 반복 기운 다.

배열 객체에는 입력에 따라 NSString 객체가 하나 이상 포함될 수 있습니다.

"FinishWholeQuestion"을 NSArray 객체로 변경하면 몇 가지 구성 요소 (문자열로 구분)를 얻을 수 있습니다. 은 "objectAtIndex: 1"에 의해 입증 내가 좀 더 밀접하게 코드를 찾고 있어요 것을 이제

, 나는 당신이 당신의 배열 항상 유효 (그리고이 2 개 이상 항목 인 가정을 만들고있어 참조 비트).

Objective-C 변수의 첫 번째 문자도 변경해야합니다. Objective-C의 모범 사례는 변수의 첫 번째 문자는 항상 소문자 여야한다는 것입니다. 이처럼

: 당신이 이미하지 않은 경우

NSString * getUrl = [NSString stringWithFormat:@"http://www.mywebpage.com/page.php"]; 
NSString * getAllHtml = [NSString stringWithContentsOfURL:[NSURL URLWithString:getUrl] encoding: NSUTF8StringEncoding error:nil]; 

NSArray * allQuestions = [getAllHtml componentsSeparatedByString:@"<tr>"]; 
if([allQuestions count] > 1) 
{ 
    // assuming there is at least two entries in this array 
    NSString * pullWholeQuestion = [allQuestions objectAtIndex: 1]; 
    if(pullWholeQuestion) 
    { 
     NSString *finishWholeQuestion = [[pullWholeQuestion componentsSeparatedByString:@"</tr>"] objectAtIndex:0]; 
    } 
} 
+0

그 스 니펫으로 인해서 여러 차례 감사 드리며 내가 무엇을 할 수 있는지 보도록하겠습니다. –

+0

Hmmm은 여전히 ​​약간의 문제가있어서 제가 이것을 시도한 이유가 얼마나 많은 질문을 저장했는지 판단하는 것이 었습니다 (시간이 지남에 따라 증가 할 가능성이있는) 사이트는 총 금액이 변수가되기 때문에 while 문은 올바른 숫자 만 가져옵니다. 따라서 [stringArray count]의 사용은 –

+0

입니다. –