oc uitableView 展示单组数据

这篇具有很好参考价值的文章主要介绍了oc uitableView 展示单组数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

oc uitableView 展示单组数据,oc,ios,数据库

 设置模型

#import <Foundation/Foundation.h>



@interface XMGWine : NSObject

@property (nonatomic,copy) NSString *name;
@property (nonatomic,copy) NSString *image;
@property (nonatomic,copy) NSString *money;

+(instancetype)wineWithDict:(NSDictionary *)dict;
@end

#import "XMGWine.h"

@implementation XMGWine
+(instancetype)wineWithDict:(NSDictionary *)dict{
    XMGWine *wine = [[self alloc]init];
    [wine setValuesForKeysWithDictionary:dict];
    return wine;
}
@end
//
//  ViewController.m
//  OcDemoTest
//
//  Created by Mac on 2023/7/14.
//

#import "ViewController.h"
#import "XMGWine.h"
// 添加协议
@interface ViewController ()<UITableViewDataSource>

@property (weak, nonatomic) IBOutlet UITableView *tableView;
// 所有饿酒数据
@property (nonatomic,strong) NSArray *wineArray;



@end


@implementation ViewController

// 加载数据
-(NSArray *)wineArray{
    if(!_wineArray){
        // 加载plist文件
        NSArray *dictArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"wine.plist" ofType:nil]];
        // 转化成模型
        NSMutableArray *temp = [NSMutableArray array];
        for (NSDictionary *wineDict in dictArray) {
            [temp addObject:[XMGWine wineWithDict:wineDict]];
        }
        _wineArray = temp;
    }
    return _wineArray;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // 设置数据源
    self.tableView.dataSource = self;
   
    
}

// 一共有多少组
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
    
}

// 每一组都多少行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return self.wineArray.count;
    
}

// 每行显示的内容
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    // 设置样式
    UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil];
//    UITableViewCell *cell = [[UITableViewCell alloc]init];
    // 取出indexpath 对应的酒模型
    //  箭头
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    XMGWine *wine = self.wineArray[indexPath.row];
    
    // 设置数据
    cell.textLabel.text = wine.name;
    cell.imageView.image = [UIImage imageNamed:wine.image];
    cell.detailTextLabel.text = [NSString stringWithFormat:@"¥%@",wine.money];
    // 设置文字颜色
    cell.detailTextLabel.textColor = [UIColor orangeColor];
    return cell;
}


@end

oc uitableView 展示单组数据,oc,ios,数据库

self.tableView.dataSource = self;
    // 常见属性
    // 设置行高
    self.tableView.rowHeight = 100;
    // 头部高度
    self.tableView.sectionHeaderHeight = 100;
    // 尾部高度
    self.tableView.sectionFooterHeight = 100;
    
    // 分割线的颜色
    self.tableView.separatorColor = [UIColor redColor];
    //self.tableView.separatorColor = [UIColor clearColor]; // 没有颜色
    
    // 设置分割线的样式
//    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    
    // 设置头部尾部的控件
//    self.tableView.tableHeaderView = [[UISwitch alloc]init];
    self.tableView.tableFooterView = [[UISwitch alloc]init];
    

设置cell

 // 设置样式
    UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil];
//    UITableViewCell *cell = [[UITableViewCell alloc]init];
    // 取出indexpath 对应的酒模型
    //  设置右边显示的指示样式
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    // 设置右边显示的控件
    cell.accessoryView = [[UISwitch alloc]init];
    // 选中的颜色 没有效果
//    cell.selectionStyle = UITableViewCellSelectionStyleBlue;
    // 背景颜色
//    cell.backgroundColor = [UIColor redColor];
    
    // 设置cell选中的背景颜色
    UIView *selectedBg = [[UIView alloc]init];
    selectedBg.backgroundColor = [UIColor grayColor];
    cell.selectedBackgroundView = selectedBg;
    XMGWine *wine = self.wineArray[indexPath.row];
    
    // 设置数据
    cell.textLabel.text = wine.name;
    cell.imageView.image = [UIImage imageNamed:wine.image];
    cell.detailTextLabel.text = [NSString stringWithFormat:@"¥%@",wine.money];
    // 设置文字颜色
    cell.detailTextLabel.textColor = [UIColor orangeColor];

 代理方法

@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
    // 设置代理
    self.tableView.delegate = self;
// 代理方法  选中某一行cell就会调用这个方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    NSLog(@"选中了:%ld",indexPath.row);
}

// 取消选中的某一行
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{
    NSLog(@"取消了:%ld",indexPath.row);
}

// 设置头部控件
//- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
//
//}

UITableViewController

oc uitableView 展示单组数据,oc,ios,数据库

 文章来源地址https://www.toymoban.com/news/detail-576720.html

到了这里,关于oc uitableView 展示单组数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序---表格的制作并展示云数据库中的数据

    微信小程序并没有表格组件,可能是官方考虑到,在前端开发中,表格的嵌套性太多,用DIV代码会比较简洁就没有实现吧。没有现成的组件可以使用,针对这个问题,目前有两种解决方案: 1)内嵌 h5页面,(毕竟 h5 的 table组件 众多,但是各个参数都需要配置,比较麻烦)

    2024年02月16日
    浏览(42)
  • 图书管理系统:从数据库设计到前端展示的实战经验分享

    ✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小

    2024年01月16日
    浏览(43)
  • 记录一个iOS UITableView 正在刷新的时候修改数据源导致的崩溃

    首先看一下崩溃堆栈信息 由于tableview 调用layoutsubViews 执行到代理方法 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 由于是崩溃在系统方法里面的,我们无法直接看到是因为调用哪个方法导致的崩溃 后来经过多次调试,发现是因为调用了reloadData 出

    2024年01月17日
    浏览(55)
  • 将图片转换成Base64格式存入数据库以及在前端页面展示

    这个示例接口假设已经有了一个数据库连接池,并且已经注入或初始化了数据源。这个接口的功能是读取指定路径的图片文件,将其转换为Base64编码字符串,然后将其存入数据库中。可以通过调用 saveImageToDB 方法来实现这个功能。调用该方法时需要传入要存储的图片文件的路

    2024年02月16日
    浏览(50)
  • Grafana(二)Grafana 两种数据源图表展示(json-api与数据库)

    在先前的博客文章中,我们搭建了Grafana ,它是一个开源的度量分析和可视化工具,可以通过将采集的数据分析、查询,然后进行可视化的展示,接下来我们重点介绍如何使用它来进行数据渲染图表展示 Docker安装Grafana-CSDN博客 文章浏览阅读1.2k次,点赞25次,收藏22次。分析上

    2024年01月17日
    浏览(47)
  • 最新成果展示:GaN基Micro-LED热学模型数据库的开发及应用

    由于GaN基 Micro-LED 表面积 - 体积比增加,其在热学方面的性质有别于大尺寸的L ED ,如缺陷复合导致的热效应将在发光区域中产生诸多“热”点,导致发光波长不均匀,这将影响后期显示系统的成像稳定性。针对上述问题,天津赛米卡尔科技有限公司技术团队开发出了 G aN 基

    2024年02月14日
    浏览(47)
  • Android:安卓开发采用Volley网络框架+MySQL数据库,实现从服务器获取数据并展示完成记单词APP

    实现功能:设计一个记单词APP。服务器采用Tomcat,数据库采用Mysql。实现用户的注册登录功能以及单词的增删改查。 指标要求:实现UI布局;将系统数据保存到Mysql数据库中,并采用Volley网络框架实现从服务器获取数据并展示。 步骤1:搭建开发环境。 步骤2:准备资源。 步骤

    2024年02月13日
    浏览(44)
  • MySQL数据库IO性能优化方法论

    作者:禅与计算机程序设计艺术 随着互联网信息化的发展,网站日益繁荣,用户对网站访问速度要求越来越高。如何提升网站数据库IO性能从而实现快速响应?本文将从数据库的优化角度出发,结合实际应用场景,进行系统地剖析、归纳和总结,为读者提供一个系统性、完整

    2024年02月06日
    浏览(51)
  • JSP SSM 成果展示系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

    一、源码特点      JSP SSM 冬奥建设成果展示系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的 源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为

    2024年02月09日
    浏览(58)
  • 使用javaweb实现登录注册页面,并且对功能和业务进行分层 用户登录成功跳转到主页并展示数据库的商品的信息

    一、Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。 这里以一个最常用的用户登录

    2024年02月03日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包