2016-07-29 6 views
2

Ich habe zwei Abschnitte in der Tabellenansicht, die in Tableviewcontroller befindet Aus irgendeinem Grund ist der Abschnitt Wert in Methode numberOfRowsInSection immer "1". Das ist ziemlich seltsam, weil alles in Ordnung scheint.Abschnitt Wert ist immer 1 in numberOfRowsInSection in UITableViewController

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 

    // Return the number of sections. 
    return 2; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    // Return the number of rows in the section. 
    int i=section; 
    if(section==0) 
     return 1; 
    else{ 
     return [self.flightDetailsArray count]; 
    } 
} 

In Storyboard Ich habe eine Tabelle mit zwei Abschnitten

Ok, noch einmal tun es für Sie, das Problem zu verstehen. Sehen Sie diesen Code

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    // Return the number of rows in the section. 

    NSLog(@"Section: %d",(int)section); 
    if(section==0) 
     return 1; 
    else{ 
     return [self.flightDetailsArray count]; 
    } 
} 

in Log i "1" sehen immer was ist das? es ist seltsam

+0

Das ist ungewöhnlich. Kannst du zeigen, wie du weißt, dass es nie "0" ist? – Droppy

+0

Ich benutze Debugger. Ich kann es sogar protokollieren. aber jedenfalls ist es immer "1" –

+0

Ich bezweifle, dass das der Fall ist, also können Sie bitte mehr Beweise liefern, damit wir sehen können, ob Sie etwas in Ihrer Untersuchung verpasst haben. – Droppy

Antwort

0

Sorry, Leute. Das Problem war, dass ich satic Typ von Tabellenansicht verwendet habe, aber auch dynamische Zellen hatte. Also habe ich nicht darauf geachtet. Dann änderte ich ID in dynamische und fügte die dynamischen Abschnitte hinzu und es funktionierte gut. Entschuldige, dass du dir Zeit genommen hast.

0

Ich verstehe nicht den Grund dafür, aufgrund der Tatsache, ich bin auch ein Anfänger, aber soweit es mich betrifft, denke ich, Sie versuchen, 1 Reihe zum ersten Mal und im nächsten Schritt Sie zurückzukehren dass durch diese Schritte Zählung des flightDetailsArray möchten Sie vielleicht zurückkehren erreichen kann: -

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    // Return the number of rows in the section. 
    static int i=0 
    if(i==0) 
     return 1; 
     i++; 
    else{ 
     return [self.flightDetailsArray count]; 
    } 


} 
+0

ich mag der erste Abschnitt 1 Zeile enthalten, und den zweiten Abschnitt [self.flightDetailsArray count] aber aus irgendeinem Grunde Abschnitt ist immer „1“ numberOfRowsInSection: (NSInteger) Abschnitt meine ich die param von diese Methode. –

+0

warum versuchst du nicht meine antwort:) – dreamBegin

+0

weil es das selbe wie ich tat? Und es sollte nicht so gemacht werden –

0

ich denke, dass Sie nur 1 Zeile in der ersten Sektion und dann die Anzahl der Objekte in Ihrem flightDetailsArray in die zurückkehren wollen zweiter Abschnitt. Wenn das der Fall ist, dann ist dies nur tun,

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    if(section==0) 
     return 1; 
    else{ 
     return [self.flightDetailsArray count]; 
    } 
} 

Jetzt kann es möglich sein, dass Ihr zweiten Abschnitt auch 1 Reihe halten wird, wenn nur ein Objekt in Ihrem flightDetailsArray ist.

Bitte versuchen Sie NSLog(@"%@", [self.flightDetailsArray count]) zu drucken und sehen Sie sich die Objektnummer an.

+0

achten Sie auf Klarstellungen in der Frage. Vielen Dank. –

Verwandte Themen