将其他视图添加到 TableView 层次结构的前面

Adding additional view to front of hierarchy of TableViews

提问人:BTSK 提问时间:5/1/2021 更新时间:5/1/2021 访问量:60

问:

我有一个表格视图,它进行城市=>建筑类型=>计算。代码摘录如下。

我想在前面添加额外的视图,这样它就会进入区域 => 城市 => 建筑类型 => 计算

每个区域都有类似的数据。

我是否需要为区域设置另一个 NSArray 并将位置嵌套在其中。有没有地方可以指点我?

#import "LocationViewController.h"
#import "Location.h"
#import "LocationCell.h"
#import "LocationDetailViewController.h"

@interface LocationViewController ()

@end

@implementation LocationViewController

{NSArray *exitlocations;
}
#pragma mark -
#pragma mark View lifecycle

- (void)viewDidLoad {
[super viewDidLoad];
//Initialise table data

//1st Location
Location *location1 = [Location new];
location1.locationtitle = @"Dublin";
location1.locationphoto = [UIImage imageNamed:@"Dublin.jpg"];
location1.buildingtype = [NSArray arrayWithObjects:@"Office Prime",@"Office     Secondary",@"Industrial < 500 sq m",@"Industrial > 500 sq m",@"Logistics Facility",@"Hotel 5 Star",@"Hotel 3/4 Star",@"Student Residences (PBSA)",@"Residential (PRS)", nil];
location1.buildingphoto = [NSArray arrayWithObjects:@"Office.png",@"officesecondary.jpg",@"smallindustrial.png",@"largeindustrial.png",@"logistics.png",@"fivestarhotel.jpg",@"Hotel.jpg",@"studentresidences.jpg",@"Development.png", nil];
location1.rentrange = [NSArray arrayWithObjects:@"500 - 600 € per sq m ",@"180 - 320 € per sq m ",@"65 - 90 € per sq m ",@"70 - 100 € per sq m ",@"90 - 120 € per sq m ",@"210 - 300 € per room ",@"180 - 210 € per room",@"150 - 300 € per bed ",@"1,650 - 2,650 € per unit", nil];
location1.yieldrange = [NSArray arrayWithObjects:@"4.00% - 5.00%",@"5.75% - 6.25%",@"6.25% - 7.00%",@"4.75% - 6.00%",@"5.00% - 6.50%",@"5.50% - 6.50%",@"6.25% - 7.00%",@"4.75% - 5.50%",@"4.00% - 5.00%", nil];
location1.rentperiodunit = [NSArray arrayWithObjects:@"€ per sq m per year",@"€ per sq m per year",@"€ per sq m per year",@"€ per sq m per year",@"€ per sq m per year",@"Stabilised ADR €",@"Stabilised ADR €",@"€ per bed per week",@"€ per month",nil];

.....

exitlocations = [NSArray arrayWithObjects:location1,location2,nil];
}

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
//Only one section
return 1;
}

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:      (NSInteger)section {
   return [exitlocations count];
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
LocationCell *cell = (LocationCell *)[tableView dequeueReusableCellWithIdentifier:@"CityCell"];
Location *location = [exitlocations objectAtIndex:indexPath.row];
cell.locationImageView.image = location.locationphoto;
cell.locationLabel.text = location.locationtitle;
return cell;

   /* static NSString *locationindexIdentifier = @"CityCell";

UITableViewCell *cell = [tableView     dequeueReusableCellWithIdentifier:locationindexIdentifier];
if (cell == nil){
    cell =[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault     reuseIdentifier:locationindexIdentifier];
    }

// Configure the cell...
Location *location = [exitlocations objectAtIndex:indexPath.row];
cell.textLabel.text = location.locationtitle;
return cell;
*/
}

// Segue to transfer data

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

if ([[segue identifier] isEqualToString:@"ShowLocation"])
    
    NSLog(@"Segue to location detail called");
{
    NSIndexPath *selectedRowIndex = [self.tableView     indexPathForSelectedRow];
    LocationDetailViewController *destViewController =     segue.destinationViewController;
    destViewController.locationdata = [exitlocations objectAtIndex:selectedRowIndex.row];
}
}

//inserted status bar change here

-(UIStatusBarStyle)preferredStatusBarStyle
{return UIStatusBarStyleLightContent;

}

@end
iOS Objective-C UITableView NSMUTABLEARRAY 数据源

评论

0赞 Asif Mujtaba 5/1/2021
为什么不在类中添加属性regionLocation
0赞 BTSK 5/2/2021
感谢您的建议。我希望 region 是位置的父级,而位置是建筑物类型的父级。我正在考虑创建一个 Region 类

答: 暂无答案