2015-02-05 1 views
0

그래서 나는 문자열로 채워진 배열을 가지고 있으며보기 (명령 프롬프트/터미널에서 자주 보는 것과 같은)에서 그것을 출력하고 싶습니다. 가장 좋은 방법은 무엇입니까?보기의 배열에서 여러 줄의 텍스트를 표시하는 가장 유용한 방법은 무엇입니까?

좀 다른 방식으로 생각하지만 셀로

  1. 사용 UITableView 입력에 대한 각 문자열 확신하지 않았습니다.
  2. 는 사용 UITextView

다른 제안을 (나는 아직도 그것을 할 방법을 못 찾았어요)?

답변

2

텍스트보기가 쉽습니다 (둘 다 매우 간단합니다). 테이블 뷰는 추가 기능 (셀의 탭을 배열의 해당 행에 특정한 동작과 연관시키는 기능)을위한 문을 열어 더 많은 메모리 효율적인 접근법을 제공합니다 (매우 큰 데이터 세트를 다루는 경우 중요 함)) 등등. 그러나 당신이 문자열의 적당한 배열을 가지고 명령 행 윈도우에서 보이는 것과 같이 보이길 원한다면, 텍스트 뷰는 최소한의 노력으로 그것을 달성 할 수 있습니다.

프로그래밍 방식으로 추가하는 UILabel 컨트롤이있는 스크롤보기와 같은 다른 접근법은 훨씬 성가기 때문에 두 가지 옵션이 가장 적합하다고 생각합니다.

+1

나는 이것이 OP에 실제로 대답하는 유일한 것 같아요 ... – CaptJak

+0

무엇이 가장 좋은 생각인지 말해 주셔서 고마워요 :) –

1

배열을 반복하여 문자열을 만든 다음 text 속성을 UITextView으로 설정하십시오. 같은 뭔가 :

NSMutableString *finalText = [[NSMutableString alloc] init]; 

for(NSString *line in array) 
{ 
    [finalText appendString:[NSString stringWithFormat:@"%@\n", line]]; 
} 

textView.text = finalText; 

또 다른 옵션은 사용하는 것입니다 : 당신이 말 뒤에 줄 바꿈 왼쪽되지 않기 때문에

textView.text = [array componentsJoinedByString:@"\n"]; 

이것은 아마도 당신을위한 더 나은 옵션입니다.

+0

아, 그렇다면 왜 appendString> "<을 잊지 않습니까? 내 배열에 새로운 문자열을 추가하면 그 방법이 도움이 될 것입니다. 도와 주셔서 감사합니다 : D –

2

yourTextView.text = [yourArray description];

또는

yourTextView.text = [[yourArray valueForKey:@"description"] componentsJoinedByString:@""];

은 (단지 명령 프롬프트 같은) 공상을 보이게없이 텍스트 뷰에 그것을 덤프합니다.

3

은 당신이 사용하는 배열에서 직접 한 줄에 문자열을 만들 수 있다고 생각 :

NSString *displayString = [<yourArray> componentsJoinedByString:@"\n"]; 

그런 다음 당신의보기 UI에 표시 문자열을 설정합니다.

+0

클리너가 더 간단하고 @ 자신의 대답을 pasta12 ... – CaptJak

관련 문제