2011-03-31 3 views
0

나는 매우 유사 데이터의 4 개 세트를 가진 새 응용 프로그램을 만드는 중이라서. 4 개의 UITableView를 사용하여 하나의 UITabBar로 이동하기 위해 4 개의 UIButton을 만들고 싶습니다. 나는 네 세트의 테이블 뷰로 네 개의 버튼을 만들고 싶지 않습니다. 13 개의 UIView로 앱을 만드는 것이 그것이 필요한 것보다 더 커지게 만들 것입니다. 그래서 UIButton 액션이 테이블이받는 데이터를 변경하는 방법을 알아 내야합니다. 나는이 프로젝트를 적극적으로 진행하고있다. 어떤 제안이라도 도움이 될 것입니다. 고맙습니다. 당신이 당신의 테이블 위임에 numberOfRowsInSection에서 반환되는 것을 변경해야 테이블 뷰 데이터 소스를 변경하려면UITableView를 채우는 데 사용되는 NSArray를 변경하려면 UIButton Action을 어떻게 사용합니까?

답변

1

. 나는이 작업을 수행 한 방법 중 하나는 내가

typedef enum 
{ 
    DataSetOne, 
    DataSetTwo 
} DataSetEnum 

@property(nonatomic, retain) DataSetEnum dataset; 
@property(nonatomic, retain) NSArray *datasetone; 
@property(nonatomic, retain) NSArray *datasettwo; 

- (void) viewDidLoad 
{ 
    dataset = DataSetOne; 
} 
- (IBAction) buttonPressed 
{ 
    dataset = DataSetTwo; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    if(dataset == DataSetOne) 
    { 
      return [self.datasetone count]; 
    } 
    else if(dataset == DataSetTwo) 
    { 
      return [self.datasettwo count]; 
    } 
} 

을 선택하는 하나 저장하는 데 사용하는 로컬 변수가하려는 데이터의 어떤 세트를 나타내는 열거를 사용하는 것입니다 그리고 cellForRowAtIndexPath에서

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if(dataset == DataSetOne) 
    { 
      //configure cell 
    } 
} 
+0

감사합니다. 나는 당신의 방법을 확실히 시도 할 것입니다. –

0

당신의 버튼 방식에서 다음

NSArray* data = ... 

: 데이터가 유사한 경우 당신은 각 버튼의 IBAction 변수에서 데이터를 설정할 수

-(IBAction*)clickedButton1:(id)sender { 
    data = [self getButton1Data] 
    [self reloadAll] 
} 
+0

감사합니다. 좋은 아이디어 같아요. 나는 그것을 시도 할 것이다. –

+0

나는 이것을 이렇게하지 않기로 결정 했으므로 아무 대답도 없을 것이다. –