2013-05-18 4 views
-4

현재 개발 중이며 문제가 생겼습니다. .plist에서 문자열을 읽고 싶습니다. 버튼을 누르면 임의의 문자열이 선택되어 레이블에 나타납니다. 샘플 .plist 및 내 .h 및 .m 인스턴스화 된 단추가 있지만 임의의 문자열을 선택하고 UILabels 값을 선택한 문자열로 변경하는 방법을 모르겠습니다. 어떤 도움을 주시면 감사하겠습니다. 미리 감사드립니다..plist에서 임의의 문자열 선택?

Heres는 내 .plist enter image description here

그리고 여기 여기 내 .H

#import <UIKit/UIKit.h> 

@interface ViewController2 : UIViewController { 
IBOutlet UILabel *label1; 
} 

-(IBAction)randomButton; 

입니다 그리고 나의하는 .m 그래서

#import "ViewController2.h" 

@interface ViewController2() 

@end 

@implementation ViewController2 

//What do I put in my randomButton method to extract from .plist? 
-(IBAction)randomButton { 
} 
+1

나는 plist 파일을 읽는 것이 문제라고 생각합니다. 이 [튜토리얼] (http://iosdevelopertips.com/data-file-management/reading-a-plist-into-an-nsarray.html)을 참조하십시오. 그런 다음 arc4random()으로 난수 i를 생성하고 읽은 NSArray의 i 번째 요소로 UILabel의 텍스트를 설정합니다. – medvedNick

+0

아니요, 도움이 될만합니까? –

+0

미안 medvedNick 내가 H2와 얘기하고 있었다. –

답변

4
우선

당신이 당신의 plist 파일을 재 배열해야한다 모든 문자열이 하나의 배열에 있습니다 (이제 문자열은 "단어"배열에 없습니다). 그렇다면,있는 NSArray에 PLIST를 읽어

int randV = arc4random() % plistArray.count; // randV is from 0 to number of strings -1 in array 

다음, 설정 라벨의 텍스트 :

label1.text = plistArray[randV]; 

도, 내가보기 엔 어떤 책을 읽고하는 것이 좋습니다

NSString *path = [[NSBundle mainBundle] pathForResource: 
    @"my" ofType:@"plist"]; 

NSDictionary *plistDict = [[NSDictionary alloc] initWithContentsOfFile:path]; 
NSMutableArray *plistArray = plistDict[@"words"]; 

다음, 확률 변수를 생성 또는 그런 질문을하기 전에 몇 가지 자습서를 살펴보십시오.

+0

좋아요, 위와 같이했는데, 버튼을 누르면 레이블이 그냥 비워집니다. 내 .plist에 문제가 있습니까, 지원 파일 폴더에있는 것입니까? –

+0

@RobertSaunders는 plist 파일 – medvedNick

+0

k의 "words"배열로 모든 문자열을 드래그 했으므로 이제는 배열에 4 개의 항목이 있지만 여전히 아무것도 표시되지 않습니다 –