A kérdés egyszerű: Hogyan betölteni az egyéni UITableViewCellszármazó XIb fájlokat? Ezzel lehetővé teszi, hogy az Interface Builder tervezni a sejteket. A válasz nyilvánvalóan nem egyszerű, mivel a memória gazdálkodás kérdéseket. Ez az üzenet említi a kérdést, és azt javasolja a megoldás, de előre NDA-kibocsátás és hiányzik kódot. Itt egy hosszú fonál , amely kitér a anélkül, hogy végleges választ.
Itt van néhány kód, amit használnak:
static NSString *CellIdentifier = @MyCellIdentifier;
MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
cell = (MyCell *)[nib objectAtIndex:0];
}
Ahhoz, hogy használni ezt a kódot, létrehozni MyCell.m / .h, egy új alosztálya UITableViewCell, és adjunk hozzá IBOutletsa kívánt összetevők. Ezután hozzon létre egy új, „Üres XIB” fájlt. Nyissa meg a XIb fájlt IB, adjunk hozzá egy UITableViewCelltárgy, beállíthatjuk a azonosítóval „MyCellIdentifier” beállítást, és a kategóriájában a MyCell és add meg a komponenseket. Végül csatlakoztassa az IBOutletsaz alkatrészeket. Vegyük észre, hogy nem határozta meg az fájl tulajdonosának IB.
Más módszerek híve beállításával fájl tulajdonosának és figyelmezteti a memóriavesztés, ha a XIb nincs betöltve egy kiegészítő gyár osztályban. Kipróbáltam a fenti okmányok alapján / szivárgásokat, és nem látott memóriavesztés.
Tehát mi a kanonikus módon betölteni sejtek Xibs? Ne elindultunk fájl tulajdonosának? Szükség van egy gyár? Ha igen, mi a kódja a gyári néz ki? Ha van több megoldás, tisztázzuk az előnye és hátránya, mindegyikük ...














