Во-первых, если вы объявляете viewGameMap в своем файле .h, например, (используя директиву @property):
@property (nonatomic, retain) IBOutlet UIView *viewGameMap;
или даже просто в фактическом объявлении, например:
IBOutlet UIView *viewGameMap;
, тогда вы сможете привязать viewGameMap к соответствующему UIView внутри IB.Это даст вам прямой доступ к viewGameMap.
Во-вторых, поскольку вы используете alloc для создания экземпляра объекта Room (примечание, класс Room должен быть написан с прописной буквы в соответствии с соглашением), вы несете ответственность за него (он принадлежит вам).Но когда вы вызываете -addSubview:, тогда [mainWin contentView] также владеет thisRoom.Итак, вы можете сделать это:
room* thisRoom = [[room alloc] initWithFrame: NSMakeRect(441.0-roomWidth,520.0-roomLength, roomWidth * 10, roomLength * 10)];
[viewGameMap addSubview:thisRoom];
[thisRoom release];
Позже, когда thisRoom будет удален из [mainWin contentView], его счетчик ссылок (за исключением некоторых других ссылок) упадет до нуля и, в конечном счете, будет освобожден.