2017-01-27 5 views
1

@interface ViewController() @property (nonatomic,strong) NSMutableArray * gameB; @property (nonatomic,strong) NSMutableArray * rows; - (IBAction)initialize:(id)sender; - (BOOL) isEmpty; @end업데이트 여러 레이블

- (IBAction)startGme:(id)sender { 
    _rows = [[NSMutableArray alloc] initWithCapacity:4]; 
    _gameB = [[NSMutableArray alloc]initWithObjects :_rows , _rows ,_rows ,nil]; 
} 

`

This is how my storyboard would look. These all values update from a 2-D array. 나는 객관적인 C에 새로운 오전. 내가하려고하는 일은 배열이 변경 될 때마다 몇 개의 레이블을 업데이트하는 것입니다. 하나의 라벨을 업데이트하는 방법을 알고 있습니다. 그러나 레이블 수가 1보다 많으면 일반적인 방법으로 배열을 변경할 때마다 레이블이 업데이트되거나 각 레이블의 하드 코드를 업데이트해야합니까? 참조 코드가 도움이됩니다.

+0

UILabel이 같은 화면에 있습니까? 나는 그들이 같은 부모의 하위 뷰를 의미합니까? –

+1

당신이 시도한 것을 보여주세요. (코드), – shallowThought

+0

@shallowThought가 말한 것과 함께,이 페이지의 스크린 샷을 추가하여 문제를 잘 이해하고 있습니다. – rptwsthi

답변

1

배열을 반복하여 레이블을 설정하십시오.

[yourArray enumerateObjectsUsingBlock:^(id x, NSUInteger index, BOOL *stop){ 
    UILabel *label = (UILabel*)[self.view viewWithTag:index]; 
    NSString *str = (NSString*)x; 
    [label setText:x]; 
}]; 

여기에는 레이블에 태그 집합이 0 (레이블 수)이 있고 배열에 NSString이 포함되어 있다고 가정합니다.

@IBOutlet var labelCollection: [UILabel]! 

그런 다음 당신은이 스토리 보드에 수집 선언에 동시에 업데이트 할 레이블을 연결해야 :

1

당신은 거 신속한에서 그 같이되는 출구 수집을 선언 할 수 있습니다. 이 컬렉션을 반복하고 원하는 내용을 모두 업데이트하십시오.

+0

그는'objective-c' 코드를 요구하고 있습니다. – Koen