2011-10-14 2 views
-2

이 문제를 검색했지만 아무 것도 발견하지 못했습니다. 나는 myTableViewreloadData을 호출 할 때 nil이 아닌 테이블에 링크되어 있고 그 테이블을 먹이는 새로운 배열이 nil이 아니라는 것을 확인했습니다.테이블이 UIView 내에 중첩되어있는 경우 reloadData가 작동하지 않습니다.

기본적으로 코드는 작동하는 것 같습니다. 그것은 테이블을 업데이트하기 위해 뷰를 닫고 다시 열어야한다는 것입니다. 그렇지 않으면 테이블을 업데이트해야하는 버튼을 클릭하면 뷰가 닫히고 다시 열릴 때까지 비어있게됩니다. 그런 다음 올바른 데이터를 얻습니다.

.H :

@interface AddressbookViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> 
{ 

    IBOutlet UIButton * A; 
    IBOutlet UIButton * B; 
    IBOutlet UIButton * C; 
    IBOutlet UIButton * D; 
    IBOutlet UIButton * E; 
    IBOutlet UIButton * F; 
    IBOutlet UIButton * G; 
    IBOutlet UIButton * H; 
    IBOutlet UIButton * I; 
    IBOutlet UIButton * J; 
    IBOutlet UIButton * K; 
    IBOutlet UIButton * L; 
    IBOutlet UIButton * M; 
    IBOutlet UIButton * N; 
    IBOutlet UIButton * O; 
    IBOutlet UIButton * P; 
    IBOutlet UIButton * Q; 
    IBOutlet UIButton * R; 
    IBOutlet UIButton * S; 
    IBOutlet UIButton * T; 
    IBOutlet UIButton * U; 
    IBOutlet UIButton * V; 
    IBOutlet UIButton * W; 
    IBOutlet UIButton * X; 
    IBOutlet UIButton * Y; 
    IBOutlet UIButton * Z; 
    IBOutlet UIButton * vcCorp; 
    IBOutlet UIButton * vcLocal; 
    IBOutlet UIButton * listUp; 
    IBOutlet UIButton * listDown; 
    IBOutlet UIButton * close; 

    IBOutlet UIView *myView; 
    IBOutlet UITableView * myTableView; 
    NSMutableArray *tableArray; 

    CrestronClient * cClient; 
    CrestronControllerValues * CCV; 
    int viewOptions; 

} 
@property (nonatomic, retain) NSMutableArray *tableArray; 
@property (nonatomic, retain) IBOutlet UITableView *myTableView; 


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil type:(int)viewoptions; 

@end 

하는 .m

#import "AddressbookViewController.h" 
#import "CrestronControllerValues.h" 



@implementation AddressbookViewController 
@synthesize myTableView,tableArray; 

//viewOptions = 1=videoconferenceLOCAL 2=videoconferenceCORP 3=telepresence 4=audioconference 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil type:(int)viewoptions 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
     viewOptions = 1; 
     viewOptions = viewoptions; 
     tableArray = [[NSMutableArray alloc]initWithObjects:nil]; 

    } 
    return self; 
} 


- (void)didReceiveMemoryWarning 
{ 
    // Releases the view if it doesn't have a superview. 
    [super didReceiveMemoryWarning]; 

    // Release any cached data, images, etc that aren't in use. 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    CCV = [CrestronControllerValues sharedManager]; 
    cClient = [CrestronClient sharedManager]; 

    [vcLocal setSelected:TRUE]; 
    [vcCorp setSelected:FALSE]; 


    if (viewOptions>2) { 
     A.hidden = true; 
     B.hidden = true; 
     C.hidden = true; 
     D.hidden = true; 
     E.hidden = true; 
     F.hidden = true; 
     G.hidden = true; 
     H.hidden = true; 
     I.hidden = true; 
     J.hidden = true; 
     K.hidden = true; 
     L.hidden = true; 
     M.hidden = true; 
     N.hidden = true; 
     O.hidden = true; 
     P.hidden = true; 
     Q.hidden = true; 
     R.hidden = true; 
     S.hidden = true; 
     T.hidden = true; 
     U.hidden = true; 
     V.hidden = true; 
     W.hidden = true; 
     X.hidden = true; 
     Y.hidden = true; 
     Z.hidden = true; 
     vcCorp.hidden = true; 
     vcLocal.hidden = true; 
     listUp.hidden = true; 
     listDown.hidden = true; 
     //[myTableView setEditing:YES animated:YES]; 
     //[myTableView reloadData]; 

    } 

    [A addTarget:self action:@selector(aPressed) 
        forControlEvents:UIControlEventTouchUpInside]; 
    [B addTarget:self action:@selector(bPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [C addTarget:self action:@selector(cPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [D addTarget:self action:@selector(dPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [E addTarget:self action:@selector(ePressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [F addTarget:self action:@selector(fPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [G addTarget:self action:@selector(gPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [H addTarget:self action:@selector(hPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [I addTarget:self action:@selector(iPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [J addTarget:self action:@selector(jPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [K addTarget:self action:@selector(kPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [L addTarget:self action:@selector(lPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [M addTarget:self action:@selector(mPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [N addTarget:self action:@selector(nPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [O addTarget:self action:@selector(oPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [P addTarget:self action:@selector(pPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [Q addTarget:self action:@selector(qPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [R addTarget:self action:@selector(rPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [S addTarget:self action:@selector(sPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [T addTarget:self action:@selector(tPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [U addTarget:self action:@selector(uPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [V addTarget:self action:@selector(vPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [W addTarget:self action:@selector(wPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [X addTarget:self action:@selector(xPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [Y addTarget:self action:@selector(yPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [Z addTarget:self action:@selector(zPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [listUp addTarget:self action:@selector(listUpPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [listDown addTarget:self action:@selector(listDownPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [close addTarget:self action:@selector(closedPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [vcCorp addTarget:self action:@selector(vcCorpPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [vcLocal addTarget:self action:@selector(vcLocalPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    // Do any additional setup after loading the view from its nib. 



    switch (viewOptions) { 
     case 1: 
      [self setTableArray:CCV.currentPhonebookEntriesVideoChat]; 
      break; 
     case 2: 
      [self setTableArray:CCV.currentPhonebookEntriesVideoChat]; 
      break; 
     case 3: 
      [self setTableArray:CCV.currentPhonebookEntriesTelepresence]; 
      break; 
     case 4: 
      [self setTableArray:CCV.currentPhonebookEntriesAudioChat]; 
      break; 
     default: 
      [self setTableArray:CCV.currentPhonebookEntriesVideoChat]; 
      break; 
    } 

} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     int startCounter = 0; 
     switch (viewOptions) { 
      case 1: 
       startCounter = 308; 
       break; 
      case 2: 
       startCounter = 308;; 
       break; 
      case 3: 
       startCounter = 331; 
       break; 
      case 4: 
       startCounter = 286; 
       break; 
      default: 
       return nil; 
       break; 
     } 
    if ([[tableArray objectAtIndex:indexPath.row]isEqualToString:@"<empty>"]) { 
     NSLog(@"empty"); 
    } 
     [cClient userDigitalPush:startCounter+indexPath.row];  

} 

#pragma mark - Table view data source 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 

    return [tableArray count]; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 
    cell.textLabel.text = [tableArray objectAtIndex:indexPath.row]; 


    return cell; 
} 
-(void)setTableArray:(NSMutableArray *)tablearray{ 

    [tableArray removeAllObjects]; 
    tableArray = tablearray; 
    NSLog(@"testing %@",tableArray); 
    //[myTableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO]; 
    [self viewWillAppear:YES]; 

} 

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

     [[self myTableView] reloadData]; 

} 
-(void)aPressed 
{ 
// CCV = [CrestronControllerValues sharedManager]; 
// 
// NSLog(@"test %@", CCV.cameleonVersion); 
// NSLog(@"test %@", CCV.ipAddress); 
// NSLog(@"test %@", CCV.iPID); 

} 

-(void)bPressed 
{ 

} 

-(void)cPressed 
{ 

} 

-(void)dPressed 
{ 

} 

-(void)ePressed 
{ 

} 

-(void)fPressed 
{ 

} 

-(void)gPressed 
{ 

} 

-(void)hPressed 
{ 

} 

-(void)iPressed 
{ 

} 

-(void)jPressed 
{ 

} 

-(void)kPressed 
{ 

} 

-(void)lPressed 
{ 

} 

-(void)mPressed 
{ 

} 

-(void)nPressed 
{ 

} 

-(void)oPressed 
{ 

} 

-(void)pPressed 
{ 

} 

-(void)qPressed 
{ 

} 

-(void)rPressed 
{ 

} 

-(void)sPressed 
{ 

} 

-(void)tPressed 
{ 

} 

-(void)uPressed 
{ 

} 

-(void)vPressed 
{ 

} 

-(void)wPressed 
{ 

} 

-(void)xPressed 
{ 

} 

-(void)yPressed 
{ 

} 

-(void)zPressed 
{ 

} 
-(void)listUpPressed 
{ 
    //viewOptions = 1=videoconferenceLOCAL 2=videoconferenceCORP 3=telepresence 4=audioconference 

    int startCounter = 0; 
    switch (viewOptions) { 
     case 1: 
      startCounter = 318; 
      break; 
     case 2: 
      startCounter = 318;; 
      break; 
     case 3: 
      startCounter = 341; 
      break; 
     case 4: 
      startCounter = 0; 
      break; 
     default: 
      return nil; 
      break; 
    } 
    [cClient userDigitalPush:startCounter];  
    if (viewOptions == 1 || viewOptions == 2) { 
     [self setTableArray:CCV.currentPhonebookEntriesVideoChat]; 
    }else if(viewOptions == 3){ 
     [self setTableArray:CCV.currentPhonebookEntriesTelepresence]; 
    }else if(viewOptions == 4){ 
     [self setTableArray:CCV.currentPhonebookEntriesAudioChat]; 
    } 
} 

-(void)listDownPressed 
{ 
    int startCounter = 0; 
    switch (viewOptions) { 
     case 1: 
      startCounter = 318; 
      break; 
     case 2: 
      startCounter = 318;; 
      break; 
     case 3: 
      startCounter = 341; 
      break; 
     case 4: 
      startCounter = 0; 
      break; 
     default: 
      return nil; 
      break; 
    } 
    [cClient userDigitalPush:startCounter+1];  
    if (viewOptions == 1 || viewOptions == 2) { 
     [self setTableArray:CCV.currentPhonebookEntriesVideoChat]; 
    }else if(viewOptions == 3){ 
     [self setTableArray:CCV.currentPhonebookEntriesTelepresence]; 
    }else if(viewOptions == 4){ 
     [self setTableArray:CCV.currentPhonebookEntriesAudioChat]; 
    } 
} 
-(void)closedPressed 
{ 
    [self.view removeFromSuperview]; 
} 

-(void)vcCorpPressed 
{ 
    [cClient userDigitalPush:326];  
    [vcLocal setSelected:FALSE]; 
    [vcCorp setSelected:TRUE]; 

    [self setTableArray:CCV.currentPhonebookEntriesVideoChat]; 
} 

-(void)vcLocalPressed 
{ 
    [cClient userDigitalPush:325];  
    [vcLocal setSelected:TRUE]; 
    [vcCorp setSelected:FALSE]; 

    [self setTableArray:CCV.currentPhonebookEntriesVideoChat]; 
} 


- (void)dealloc 
{ 
    [myTableView release]; 
    [tableArray release]; 
    [cClient release]; 
    [super dealloc]; 
} 
@end 
+0

빈 내가 가지고 문제의 일부 느낌있는 UITableViewController 반대로이 클래스의 UIViewController에서 하위 클래스라는 것이다, 하지만 도움이 될지 확실하지 않은 경우에도 여전히 –

+0

이 가능해야하지만 타이밍 문제 인 것으로 보입니다. 테이블 배열을 설정할 때 배열이 비어 있습니다. 하지만 그 직후에는 인구가 발생합니다. 그 권리를 얻는 방법을 찾아 내려고. –

+0

테이블의 위임과 데이터 소스를 설정하고 있습니까? – onnoweb

답변

0

내가 찾은이

처럼 보이는에서

[tableArray removeAllObjects]

이 내 문제 일 수 있습니다. 나는 타이밍 문제라고 생각했지만 심지어 다른 스레드에서 수면 (1)을 추가 한 후에도 문제가 해결되지 않았다.

여기에 작업 코드가 있습니다. 통지 모든 개체를 제거에서 각 개체를 개별적으로 제거 변경되었습니다.

#import "AddressbookViewController.h" 
#import "CrestronControllerValues.h" 



@implementation AddressbookViewController 
@synthesize myTableView,tableArray; 

//viewOptions = 1=videoconferenceLOCAL 2=videoconferenceCORP 3=telepresence 4=audioconference 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil type:(int)viewoptions 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
     viewOptions = 1; 
     viewOptions = viewoptions; 
     // tableArray = [[NSMutableArray alloc]initWithObjects:nil]; 

    } 
    return self; 
} 


- (void)didReceiveMemoryWarning 
{ 
    // Releases the view if it doesn't have a superview. 
    [super didReceiveMemoryWarning]; 

    // Release any cached data, images, etc that aren't in use. 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    CCV = [CrestronControllerValues sharedManager]; 
    cClient = [CrestronClient sharedManager]; 

    if (viewOptions == 1) { 
     [vcLocal setSelected:TRUE]; 
     [vcCorp setSelected:FALSE]; 
    }else if(viewOptions == 2){ 
     [vcLocal setSelected:FALSE]; 
     [vcCorp setSelected:TRUE]; 
    } 


    if (viewOptions>2) { 
     A.hidden = true; 
     B.hidden = true; 
     C.hidden = true; 
     D.hidden = true; 
     E.hidden = true; 
     F.hidden = true; 
     G.hidden = true; 
     H.hidden = true; 
     I.hidden = true; 
     J.hidden = true; 
     K.hidden = true; 
     L.hidden = true; 
     M.hidden = true; 
     N.hidden = true; 
     O.hidden = true; 
     P.hidden = true; 
     Q.hidden = true; 
     R.hidden = true; 
     S.hidden = true; 
     T.hidden = true; 
     U.hidden = true; 
     V.hidden = true; 
     W.hidden = true; 
     X.hidden = true; 
     Y.hidden = true; 
     Z.hidden = true; 
     vcCorp.hidden = true; 
     vcLocal.hidden = true; 
     listUp.hidden = true; 
     listDown.hidden = true; 

    } 

    [A addTarget:self action:@selector(aPressed) 
        forControlEvents:UIControlEventTouchUpInside]; 
    [B addTarget:self action:@selector(bPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [C addTarget:self action:@selector(cPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [D addTarget:self action:@selector(dPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [E addTarget:self action:@selector(ePressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [F addTarget:self action:@selector(fPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [G addTarget:self action:@selector(gPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [H addTarget:self action:@selector(hPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [I addTarget:self action:@selector(iPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [J addTarget:self action:@selector(jPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [K addTarget:self action:@selector(kPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [L addTarget:self action:@selector(lPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [M addTarget:self action:@selector(mPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [N addTarget:self action:@selector(nPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [O addTarget:self action:@selector(oPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [P addTarget:self action:@selector(pPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [Q addTarget:self action:@selector(qPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [R addTarget:self action:@selector(rPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [S addTarget:self action:@selector(sPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [T addTarget:self action:@selector(tPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [U addTarget:self action:@selector(uPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [V addTarget:self action:@selector(vPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [W addTarget:self action:@selector(wPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [X addTarget:self action:@selector(xPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [Y addTarget:self action:@selector(yPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [Z addTarget:self action:@selector(zPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [listUp addTarget:self action:@selector(listUpPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [listDown addTarget:self action:@selector(listDownPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [close addTarget:self action:@selector(closedPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [vcCorp addTarget:self action:@selector(vcCorpPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    [vcLocal addTarget:self action:@selector(vcLocalPressed) 
       forControlEvents:UIControlEventTouchUpInside]; 
    // Do any additional setup after loading the view from its nib. 



    switch (viewOptions) { 
     case 1: 
      [self setTableArray:CCV.currentPhonebookEntriesVideoChat]; 
      break; 
     case 2: 
      [self setTableArray:CCV.currentPhonebookEntriesVideoChat]; 
      break; 
     case 3: 
      [self setTableArray:CCV.currentPhonebookEntriesTelepresence]; 
      break; 
     case 4: 
      [self setTableArray:CCV.currentPhonebookEntriesAudioChat]; 
      break; 
     default: 
      [self setTableArray:CCV.currentPhonebookEntriesVideoChat]; 
      break; 
    } 

} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     int startCounter = 0; 
     switch (viewOptions) { 
      case 1: 
       startCounter = 308; 
       break; 
      case 2: 
       startCounter = 308;; 
       break; 
      case 3: 
       startCounter = 331; 
       break; 
      case 4: 
       startCounter = 286; 
       break; 
      default: 
       return nil; 
       break; 
     } 
    if ([[tableArray objectAtIndex:indexPath.row]isEqualToString:@"<empty>"]) { 
     NSLog(@"empty"); 
    }else{ 
     [cClient userDigitalPush:startCounter+indexPath.row];  

    } 

} 

#pragma mark - Table view data source 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 

    return [tableArray count]; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 
    cell.textLabel.text = [tableArray objectAtIndex:indexPath.row]; 


    return cell; 
} 
-(void)setTableArray{ 
    //[tableArray removeAllObjects]; 

    //NSLog(@"set table array %@", CCV.currentPhonebookEntriesVideoChat); 
    int counter =0; 
    while ([tableArray count]>counter) { 
     [tableArray removeObjectAtIndex:counter]; 
     counter++; 
    } 

    if (viewOptions == 1 || viewOptions == 2) { 
     tableArray =CCV.currentPhonebookEntriesVideoChat; 
    }else if(viewOptions == 3){ 
     tableArray =CCV.currentPhonebookEntriesTelepresence; 
    } 
    //[self.myTableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO]; 
    [[self myTableView] reloadData]; 
} 



-(void)listUpPressed 
{ 
    //viewOptions = 1=videoconferenceLOCAL 2=videoconferenceCORP 3=telepresence 4=audioconference 

    int startCounter = 0; 
    switch (viewOptions) { 
     case 1: 
      startCounter = 318; 
      break; 
     case 2: 
      startCounter = 318;; 
      break; 
     case 3: 
      startCounter = 341; 
      break; 
     default: 
      return nil; 
      break; 
    } 
    [cClient userDigitalPush:startCounter];  
    [self setTableArray]; 
} 

-(void)listDownPressed 
{ 
    int startCounter = 0; 
    switch (viewOptions) { 
     case 1: 
      startCounter = 318; 
      break; 
     case 2: 
      startCounter = 318;; 
      break; 
     case 3: 
      startCounter = 341; 
      break; 
     default: 
      return nil; 
      break; 
    } 
    [cClient userDigitalPush:startCounter+1]; 
    NSLog(@"command sent"); 

    [self setTableArray]; 
} 

-(void)closedPressed 
{ 
    [self.view removeFromSuperview]; 
} 

-(void)vcCorpPressed 
{ 
    [cClient userDigitalPush:326];  
    [vcLocal setSelected:FALSE]; 
    [vcCorp setSelected:TRUE]; 
    viewOptions = 2; 
    [self setTableArray]; 

} 

-(void)vcLocalPressed 
{ 
    [cClient userDigitalPush:325];  
    [vcLocal setSelected:TRUE]; 
    [vcCorp setSelected:FALSE]; 
    viewOptions = 1; 
    [self setTableArray]; 
} 

이 었소 내가 그것을 기대하는 방법 일 removeallobjects 두 번째 시간입니다. 나는 문서를 다시 읽으려고하지만 실제로 그게 왜 문제인지 이해하지 못합니다. 나는 새로운 배열로 설정, 배열을 삭제되었고, 여전히 것 and here is my answer

관련 문제