IOS开发指南学习——视图与控件

本文分享了作者学习iOS开发的经验,重点介绍了Xcode的故事板及TableView和Segue的基本使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经过这段时间的学习,我啃完了IOS开发指南的第一部分。

之前一直没有时间进行整理,今天趁着休息的时间,回顾整理了一下这段时间的学习。

由于我之前主要是学习java的开发,所以可能学习中会更多的与java进行比较。

在控件与视图这一部分,我感觉Xcode的开发环境还是相当的友好的,我以前并没有深入地学习过Andrew的开发,只进行过一些基础的学习。但是也能清楚地感觉到ios在这一方面做了多么大的功夫,使用Xcode的故事板storyboard与代码结合的方式进行开发,storyboard中在各个界面(视图)之间的跳转十分清晰明了。而每个视图中的内容与各个视图之间跳转的细节问题又可以在代码中清晰反映,使得开发起来思路清晰,游刃有余。

经过这一部分的学习,我觉得各个控件的使用都比较地简单,不需要多做解释。

而我主要记录一下我觉得比较经常用到的一小部分而已。

一、TableView的使用

我觉得TableView可能会是我以后使用得最多的控件之一,他本身的功能十分强大,经过合理地利用可以做到很多事情,而我主要介绍一下几个最基本的用法。

1.在storyboard故事板中拖入TableViewController视图控制器,再拖入TableViewCel。

2.创建TableViewController的控制类,该类必须继承自UITableViewController,如下:

#import <UIKit/UIKit.h>

//必须继承自UITableViewController
@interface ProvincesController : UITableViewController<UITableViewDataSource,UITableViewDelegate>

@property (nonatomic,strong) NSDictionary* dataDict;
@property (nonatomic,strong) NSArray* dataList;

@end

3.设置TableViewController的控制类,如下图:



4.设置TableViewCell的ID属性,目的是为了能再视图控制类中获取该元素,如下图:



5.在视图控制器的控制类中编写代码,关于表格的代码如下:

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    //返回该表格的节数
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    //返回该节中有多少行
    return [self.dataList count];
}

//定义表格中各行中的具体内容。
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    //通过故事板中定义的TableCell的ID来找到需要的cell
    static NSString* cellIdentifier = @"CellIdentifier";
    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    cell.textLabel.text = [dataList objectAtIndex:indexPath.row];
    return cell;
}

二、使用segue进行视图的跳转

实现各视图的跳转有几种方式,而我使用的是segue的方式,下面介绍我的实现方式,可能不是最好的方式。

1.在故事板storyboard中创建视图的跳转segue,这里举的例子是,点击表格中的某一行,跳转到该行的详细信息视图。按住control按键,点击TableViewCell拉取到另外一个视图控制器TableViewController上并松开鼠标,选择Accessory Action-->show方式连接,如图:

           


2.设置segue的ID属性,为了可以在控制类中定位到该跳转并进行处理:



3.在视图控制类ProvinceController中覆盖方法(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    //通过故事板storyBoard中的segueID,定位视图的跳转。
    if ([segue.identifier isEqualToString:@"ShowSelectedProvince"]) {
        //segue.destinationViewController可以获取目标视图的视图控制器。
        CitiesController* citiesController = segue.destinationViewController;
        NSInteger selectedIndex = [[self.tableView indexPathForSelectedRow] row];
        NSString* selectedName = [self.dataList objectAtIndex:selectedIndex];
        //初始化目标视图中相关的控件。
        citiesController.dataList = [self.dataDict objectForKey:selectedName];
        citiesController.title = [self.dataList objectAtIndex:selectedIndex];
    }
}




内容概要:本文档详细介绍了基于MATLAB实现的无人机三维路径规划项目,核心算法采用蒙特卡罗树搜索(MCTS)。项目旨在解决无人机在复杂三维环境中自主路径规划的问题,通过MCTS的随机模拟渐进式搜索机制,实现高效、智能化的路径规划。项目不仅考虑静态环境建模,还集成了障碍物检测避障机制,确保无人机飞行的安全性效率。文档涵盖了从环境准备、数据处理、算法设计实现、模型训练预测、性能评估到GUI界面设计的完整流程,并提供了详细的代码示例。此外,项目采用模块化设计,支持多无人机协同路径规划、动态环境实时路径重规划等未来改进方向。 适合人群:具备一定编程基础,特别是熟悉MATLAB无人机技术的研发人员;从事无人机路径规划、智能导航系统开发的工程师;对MCTS算法感兴趣的算法研究人员。 使用场景及目标:①理解MCTS算法在三维路径规划中的应用;②掌握基于MATLAB的无人机路径规划项目开发全流程;③学习如何通过MCTS算法优化无人机在复杂环境中的飞行路径,提高飞行安全性效率;④为后续多无人机协同规划、动态环境实时调整等高级应用打下基础。 其他说明:项目不仅提供了详细的理论解释技术实现,还特别关注了实际应用中的挑战解决方案。例如,通过多阶段优化迭代增强机制提升路径质量,结合环境建模障碍物感知保障路径安全,利用GPU加速推理提升计算效率等。此外,项目还强调了代码模块化调试便利性,便于后续功能扩展性能优化。项目未来改进方向包括引入深度强化学习辅助路径规划、扩展至多无人机协同路径规划、增强动态环境实时路径重规划能力等,展示了广阔的应用前景发展潜力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值