swift tableview 刷新

小弟在编写复选列表(用tableview 的每一个 cell 装每一个选项)时遇到刷新问题,点击刷新后,被选中的文件若上传成功,则在列表中不再显示,但是上传成功后刷新列表,原本存在的被选中的cell(用image标识)中的image下移到另一个cell中了。求大神帮我解决这个问题!!!!

或者求大神提供一个“复选列表”带自动刷新的可行方法!求大神帮忙小弟度过这个紧急时刻!

4个回答

好吧,最后我解决了这个问题,方案如下:
1.设置一个全局变量flag,当做刷新的标志位,
2.确定总共上传x个文件,把标志位置成x,每上传成功一次,标志位自减1;
3因为 tableview?.reloadData() 时,有多少个cell,便会调用多少次 tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell ,所以 每加载一个cell时都可判断一下 if(flag >=0){把cell的“button图片” —> “未选中button图片”,flag--;}else{flag = -1}

4.其余时候下的刷新(比如说下拉刷新)flag < 0, 并不会更新每个cell中button的图片。

5.如果我解释的不清楚,或者有什么更好的方式,请联系我!

部分代码如下:(有很多函数都是自己写的,看起来比较乱,请见谅 )

/*上传*/
func uploadClicked(){
    prepareForUpload()
    uploadAudioAndImage(uploadAudioID, ID : ID , insuranceID: insuranceID, idataIcard: idataIcard, userCode: userCode)
    uploadVideo(uploadVideoID,  ID : ID , insuranceID: insuranceID, idataIcard: idataIcard, userCode: userCode)
    timer = NSTimer.scheduledTimerWithTimeInterval(1,
        target:self,selector:Selector("tickDown"),
        userInfo:nil,repeats:true)
    upload.enabled = false
    upload.setTitle("正在上传", forState: UIControlState.Normal)

    coverView = UIView(frame: CGRectMake(0, 130, self.view.frame.size.width, self.view.frame.size.height))
    coverView!.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.1)
    self.view!.addSubview(coverView!)
}

/*轮询是否上传完成*/
func tickDown(){
    let defaults = NSUserDefaults.standardUserDefaults()
    let temp = defaults.integerForKey("temp_done")
    if(temp == 0){
        upload.enabled = true
        upload.setTitle("上传资料", forState: UIControlState.Normal)
        coverView?.removeFromSuperview()
        rfClick()
        timer.invalidate()
    }
}

        /*上传完成后,刷新页面*/
func rfClick(){
    audioID = searchAudioID(insuranceID)
    videoID = searchVideoID(insuranceID)
    //maintableview?.reloadData()
    dispatch_async(dispatch_get_main_queue(), {
        self.flag = self.audioID.count + self.videoID.count
        self.maintableview?.reloadData()
        })
}

//flag 为全局变量,常态时置成 -1(上传完成,flag置成 -1)
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:(UITableViewCell) = UITableViewCell(style:.Default,reuseIdentifier:"Identifier") as UITableViewCell
if(indexPath.section==0){
let cell:audioCheckboxTableViewCell = maintableview!.dequeueReusableCellWithIdentifier("audioCheckboxTableViewCell", forIndexPath: indexPath) as! audioCheckboxTableViewCell
cell.audioName.text = (audioID[indexPath.row]["audio_id"]as? String)!
cell.tag = 0
if flag > 0
{
flag--
cell.butSelect.setImage(UIImage(named: "fx_02"), forState: UIControlState.Normal)
}else{flag = -1}
cell.textLabel!.font = UIFont.systemFontOfSize(14)
cell.selectionStyle = UITableViewCellSelectionStyle.None
return cell
}
if(indexPath.section==1){
let cell:videoCheckboxTableViewCell = maintableview!.dequeueReusableCellWithIdentifier("videoCheckboxTableViewCell", forIndexPath: indexPath) as! videoCheckboxTableViewCell
cell.videoName.text = (videoID[indexPath.row]["VIDEO_ID"]as? String)!
cell.tag = 1
if flag > 0
{
flag--
cell.butSelect.setImage(UIImage(named: "fx_02"), forState: UIControlState.Normal)
}else{flag = -1}
//cell向右箭头
cell.accessoryType = UITableViewCellAccessoryType.None
cell.textLabel!.font = UIFont.systemFontOfSize(14)
cell.selectionStyle = UITableViewCellSelectionStyle.None
return cell
}
//cell向右选择箭头
cell.accessoryType = UITableViewCellAccessoryType.None
cell.textLabel!.font = UIFont.systemFontOfSize(14)
cell.selectionStyle = UITableViewCellSelectionStyle.None
return cell
}

x_xx_xxx_xxxx
x_xx_xxx_xxxx 解释一下,temp 同样是一个标志位,确定我所选的所有文件是否上传完成的标志位。
接近 4 年之前 回复

tableview的局部刷新逻辑,通常是为了实现某一些或者一组效果,依赖于三个函数,reload,delete,insert。tableview的很多很炫的动画效果都是以此来实现,但是这几个函数,对cell高度可变的table的局部刷新作用,个人觉得是影响体验的,每一个cell第一次配置好之后,第二次再reload一遍,也是一个窝火的事情。但是,but,哈哈,你懂的,如果你想对特定的cell做一些效果,他们真的是,太好用咯。 --- likendsl

这次来说说像reeder那样上下拖动切换的效果是如何做的。
如何触发这里就不多说了,靠contentofset也可以,按钮也可以。
这里主要介绍一下这种效果的3种做法,各有好处。
第一种:如图一。提前预加载好3个view,比如往下翻的时候,就将view C 移到view B,view B移到view A, view A重新加载。这样做的好处就是展示的效果比较好,可控性高。代码见http://www.minroad.com/?p=286

图1
第二种方法:利用tableview来做。在tableview的一层中套入一个view,同样预加载view A B C ,每一次都只要把要显示view加入到tableview中的view上,并利用reload cell来刷新一下。这种做的好处就是简单,对代码水平要求不高,但是与第一次效果相比略显粗糙,可扩展性不强。
比如要将下拖的时候,将cell2中的view B删除,加入view C,然后调用
NSIndexPath *path = [NSIndexPath indexPathForRow:1 inSection:0]; //指向cell2的path
[self.tableview reloadRowsAtIndexPaths:[NSArray arrayWithObject:path] withRowAnimation:
UITableViewRowAnimationBottom];//刷新

图2
第三种方法:同样是tableview,但是这次不需要预加载,优点就是对于tableview相当实用,处理也比较简单。缺点同方法二,见图3.
比如要将cell1 cell2 cell3向前滚动,用cell4,cell5,cell6代替。可以执行以下代码
[self.tableview beginUpdates];
NSIndexPath *path1 = [NSIndexPath indexPathForRow:0 inSection:0];
NSIndexPath *path2 = [NSIndexPath indexPathForRow:1 inSection:0];
NSIndexPath *path3 = [NSIndexPath indexPathForRow:2 inSection:0];
//更新tableview delegate中的数据,cell数量等于删除之后的数量相同,否则会出错
[self.tableview deleteRowsAtIndexPaths:[NSArray arrayWithObjects:path1,path2,path3,nil] withRowAnimation:UITableViewRowAnimationTop];
//更新tableview delegate datasource,cell的数量是添加之后的,同时数据是新的
[self.tableview insertRowsAtIndexPaths:[NSArray arrayWithObjects:path1,path2,path3,nil] withRowAnimation:UITableViewRowAnimationTop];
[self.tableview endUpdates];
这样相当于把原来该是cell4,cell5,cell6中的数据从下向上到cell1,cell2,cell3的位置。

x_xx_xxx_xxxx
x_xx_xxx_xxxx 你好,我看了几遍这个东西,可是并没有理解您的意思,可以说的再具体一些吗?谢谢啦!
接近 4 年之前 回复

你用一个数组来维护数据,每一个数组元素都是cell对应的数据,显示cell的时候,根据数组来处理,需要刷新的时候就是reloadData重新加载

oyljerry
oyljerry 回复x_xx_xxx_xxxx: 主要是你可以看看你的数组是否发生了变化。cell对应的数据是否搞错了
接近 4 年之前 回复
x_xx_xxx_xxxx
x_xx_xxx_xxxx 你好,我就是在用多个数组来维护cell的数据啊,我这里分两个section,每个cell中有一个button,点击的时候,会改变cell中button的图片,可是,上传成功对应的cell,确实不再显示了,可是其中button的图片直接留给下一个cell的button的image了。所以,我已很难搞定
接近 4 年之前 回复
x_xx_xxx_xxxx
x_xx_xxx_xxxx 你好,我就是在用多个数组来维护cell的数据啊,我这里分两个section,每个cell中有一个button,点击的时候,会改变cell中button的图片,可是,上传成功对应的cell,确实不再显示了,可是其中button的图片直接留给下一个cell的button的image了。所以,我已很难搞定
接近 4 年之前 回复

好吧,最后我解决了这个问题,方案如下:
1.设置一个全局变量flag,当做刷新的标志位,
2.确定总共上传x个文件,把标志位置成x,每上传成功一次,标志位自减1;
3因为 tableview?.reloadData() 时,有多少个cell,便会调用多少次 tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell ,所以 每加载一个cell时都可判断一下 if(flag >=0){把cell的“button图片” —> “未选中button图片”,flag--;}else{flag = -1}

4.其余时候下的刷新(比如说下拉刷新)flag < 0, 并不会更新每个cell中button的图片。

5.如果我解释的不清楚,或者有什么更好的方式,请联系我!

部分代码如下:(有很多函数都是自己写的,看起来比较乱,请见谅 )

/*上传*/
func uploadClicked(){
    prepareForUpload()
    uploadAudioAndImage(uploadAudioID, ID : ID , insuranceID: insuranceID, idataIcard: idataIcard, userCode: userCode)
    uploadVideo(uploadVideoID,  ID : ID , insuranceID: insuranceID, idataIcard: idataIcard, userCode: userCode)
    timer = NSTimer.scheduledTimerWithTimeInterval(1,
        target:self,selector:Selector("tickDown"),
        userInfo:nil,repeats:true)
    upload.enabled = false
    upload.setTitle("正在上传", forState: UIControlState.Normal)

    coverView = UIView(frame: CGRectMake(0, 130, self.view.frame.size.width, self.view.frame.size.height))
    coverView!.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.1)
    self.view!.addSubview(coverView!)
}

/*轮询是否上传完成*/
func tickDown(){
    let defaults = NSUserDefaults.standardUserDefaults()
    let temp = defaults.integerForKey("temp_done")
    if(temp == 0){
        upload.enabled = true
        upload.setTitle("上传资料", forState: UIControlState.Normal)
        coverView?.removeFromSuperview()
        rfClick()
        timer.invalidate()
    }
}

        /*上传完成后,刷新页面*/
func rfClick(){
    audioID = searchAudioID(insuranceID)
    videoID = searchVideoID(insuranceID)
    //maintableview?.reloadData()
    dispatch_async(dispatch_get_main_queue(), {
        self.flag = self.audioID.count + self.videoID.count
        self.maintableview?.reloadData()
        })
}

//flag 为全局变量,常态时置成 -1(上传完成,flag置成 -1)
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:(UITableViewCell) = UITableViewCell(style:.Default,reuseIdentifier:"Identifier") as UITableViewCell
if(indexPath.section==0){
let cell:audioCheckboxTableViewCell = maintableview!.dequeueReusableCellWithIdentifier("audioCheckboxTableViewCell", forIndexPath: indexPath) as! audioCheckboxTableViewCell
cell.audioName.text = (audioID[indexPath.row]["audio_id"]as? String)!
cell.tag = 0
if flag > 0
{
flag--
cell.butSelect.setImage(UIImage(named: "fx_02"), forState: UIControlState.Normal)
}else{flag = -1}
cell.textLabel!.font = UIFont.systemFontOfSize(14)
cell.selectionStyle = UITableViewCellSelectionStyle.None
return cell
}
if(indexPath.section==1){
let cell:videoCheckboxTableViewCell = maintableview!.dequeueReusableCellWithIdentifier("videoCheckboxTableViewCell", forIndexPath: indexPath) as! videoCheckboxTableViewCell
cell.videoName.text = (videoID[indexPath.row]["VIDEO_ID"]as? String)!
cell.tag = 1
if flag > 0
{
flag--
cell.butSelect.setImage(UIImage(named: "fx_02"), forState: UIControlState.Normal)
}else{flag = -1}
//cell向右箭头
cell.accessoryType = UITableViewCellAccessoryType.None
cell.textLabel!.font = UIFont.systemFontOfSize(14)
cell.selectionStyle = UITableViewCellSelectionStyle.None
return cell
}
//cell向右选择箭头
cell.accessoryType = UITableViewCellAccessoryType.None
cell.textLabel!.font = UIFont.systemFontOfSize(14)
cell.selectionStyle = UITableViewCellSelectionStyle.None
return cell
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
swift UIAlertController 添加tableview
swift UIAlertController 添加tableview 有例子可以学习下吗
Qt tableview刷新之后仍然选中某一行
Qt的tableView界面有个定时器自动刷新数据,因为请求数据比较频繁,三秒刷新一次,但是选中某一行之后右键菜单时如果正巧碰上刷新,之前选中的那行就不会被选中了,我想刷新之后始终都是选中这一行的,请问有什么好办法能解决这个问题吗
CoreData如何序列化之tableview刷新
如何设置主键,并且按照自定义主键排序!就是解析下来的数据在刷新的时候怎么保证数据的顺序
请求完数据,刷新列表tableView,
请求完数据,刷新列表tableView,为什么只能刷新cell;header不行呢,header中的数据位null呢?
iOS swift 一个页面显示两个tableview,怎么解决
如何在一个viewcontroller 上显示两个tableview,点击上面的tableview可以更新下面的tableview值,该如何实现呢?用swift实现
两个tableview并列显示在view上,左边显示标题右边显示内容,下拉刷新的时候怎么共用一个刷新视图
效果是下拉两个tableview都能刷新数据,且只显示一个下拉刷新header。我目前的效果是两个tableview各有一个刷新视图,数据倒是可以一起刷新,就是两个下拉刷新header看着特别扭,上拉加载更多也一样,求大神指点!
ios 封装好的tableview如何进行刷新?封装UIView里面,有好几个table,如何在刷新
ios 封装好的tableview如何进行刷新?封装UIView里面,有好几个table,如何在刷新
iOS 设置tableview的下拉刷新问题
显示刷新结果的label总是跟着最上方的那个cell动,请问怎么设置才能让这个label固定在navigationitem后面,等label需要时再出来 ``` - (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.title = @"通知公告"; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addAnnouce)]; self.tableView.showsVerticalScrollIndicator = NO; self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; self.tableView.backgroundColor = [UIColor colorWithRed:240.0 / 255.0 green:240.0 / 255.0 blue:240.0 / 255.0 alpha:1]; UILabel *tipLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0, SCREEN_WIDTH, 40)]; tipLabel.textAlignment = NSTextAlignmentCenter; tipLabel.backgroundColor = RGBCOLOR(250.0f, 250.0f, 250.0f); tipLabel.textColor = MAINCOLOR; tipLabel.font = [UIFont systemFontOfSize:15]; [self.tableView addSubview:tipLabel]; self.tipLabel = tipLabel; UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; self.refreshControl = refreshControl; [refreshControl addTarget:self action:@selector(reloadData:) forControlEvents:UIControlEventValueChanged]; refreshControl.tintColor = MAINCOLOR; [refreshControl beginRefreshing]; [self reloadData:refreshControl]; } ``` 代码是tableview视图的viewdidload方法,这个设置刷新的label总是会跟着cell...
关于tableview动态刷新高度的问题
为什么会这样啊,求大神解答一下。那条分割线没有被调整,点击全文之后,收起的按钮点不到 ![图片说明](https://img-ask.csdn.net/upload/201506/16/1434431895_940726.png) ![图片说明](https://img-ask.csdn.net/upload/201506/16/1434431960_774258.png)
ios6 tableview 分组模式
问有木有办法可以将ios6 tableview 分组模式的cell修成直角 最好是类似ios7 tableview分组模式的样子
tableview分组视图切换
我有一个分组的tableview,第三组组头上 有两个按钮,可以切换,点击该按钮后下面有两个子tableview,就会相应的切换,问下大家怎么实现。关键是我的不能切换子tableview,如果在按钮的点击事件中刷新tableview,就会进入死循环。在加载tableview时默认点击第一个按钮就显示第一个子tableview,默认点击第二个就显示第二个子tableview,在按钮的点击事件中组头的按钮可以切换,就是子tableview不能切换,求大神帮忙解决!
怎么用swift实现类似书的目录形状的tableview
样式像是这样: <br><br><br> 今日所做事项: <br>&ensp;&ensp;&ensp;去超市买东西 <br>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;买面包 <br>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;买水 <br>&ensp;&ensp;&ensp;打扫卫生 <br>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;打扫厨房 <br>&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;打扫卧室 <br><br><br> 我想就用swift从头开始实现,不想用第三方的库,我应该怎么做,我想知道思路,和对应的swift的函数。
tableView占满整个屏幕
在app中需要用到一个小 **tableView** ,我设置了尺寸,但是运行之后 **tableview** 占了整个屏幕。 -(void)viewDidLoad{ UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0, 0.0, 20.0, 60.0) style:UITableViewStylePlain]; self.view = tableView; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *MyCellIdentifier = @"MyCellIdentifier"; UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:MyCellIdentifier]; if(cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyCellIdentifier]; } return cell; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 5; }
#qml使用TableView动态加载表,求大神帮助???
为什么加载第一个表的时候可以显示全部,第二次选择加载另一个表后更新的内容没写上去?(第一个表原有的列就会更新,新增加的就不会写进去) 第一次显示的表: ![图片说明](https://img-ask.csdn.net/upload/201912/12/1576113858_758108.png) 第二次显示的表: ![图片说明](https://img-ask.csdn.net/upload/201912/12/1576113912_333256.png) import QtQuick 2.0 import QtQuick.Controls 2.7 import Qt.labs.platform 1.1 import QtQuick.Controls 1.4 import QtCharts 2.3 TableView{ id:resultTab width:560 height: 620 anchors.top:parent.top anchors.topMargin:60 anchors.left: parent.left anchors.leftMargin: 30 model: tablemode } ListModel {//单表的行数据 id: tablemode } function bigTab(name,msge){ var msg=JSON.parse(msge) var count = resultTab.columnCount; tablemode.clear(); resultTab.model.clear() for(var f=0;f<count ;f++){ resultTab.removeColumn(0) } // 循环添加TableViewColumn for( var i=0;i<msg.title.length;i++){ var str = 'import QtQuick 2.7; import QtQuick.Controls 1.4; TableViewColumn {role: "' + msg.title[i] + '"; title: "' + msg.title[i] + '"; width: 100 ;resizable:false }'; resultTab.addColumn(Qt.createQmlObject(str,resultTab,"dynamicSnippet1")); } for( var u=0;u<msg.data.length;u++){ var json = new Object for( var j=0;j<msg.data[u].length;j++){ var role = msg.title[j] json[role]=msg.data[u][j] if (typeof(msg.data[u][j]) === "number"){ json[role]=msg.data[u][j] .toFixed(3) } json[role]= json[role].toString() } tablemode.append(json) } }
ios两个tableview数据交互
ios开发中,一个view中有tableview1(上)和tableview2(下),如何实现点击tableview1中的cell可以在tableview2中显示相应的信息
iOS中点击tableview的cell没有调用代理方法didSelectRow
我在控制器中创建一个tableview,也给这个控制器设置了代理和数据源,可是点击cell没有调用- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
ios10后 tableview设置分割线无效
代码: fileprivate var tableView:UITableView = UITableView.init(frame: CGRect(x: 0, y: 0, width: SystemKit.ScreenWidth, height: SystemKit.ScreenHeight), style: .grouped) tableView.separatorStyle = .singleLine 问题:swift3.0该种方式,ios10以下显示分割线,但是ios10以后的设备分割线不显示。如果设置singleLineEtched任何版本都不显示。 有遇到这个问题的吗?还是需要注意什么
关于Android中tableview的单元格点击事件的问题。大神来观摩指点!!!!!!
我用tableview做了一个表格如图![图片说明](https://img-ask.csdn.net/upload/201910/25/1571987745_219410.png)是个附件我现在要双击这个查看才能点开,如何让它变成单击就能打开。tableview好像默认双击才能打开。但是我想要单击打它。不知道怎么实现有大神做过这个吗?
tablefooterview底部贴着tableView的底部
cell过于少,导致tabelfootView飞在上面,我想让他贴着tableView的底部,而不是cell的底部,这个该怎么设置
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载 点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。 ...
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
Python 基础(一):入门必备知识
Python 入门必备知识,你都掌握了吗?
兼职程序员一般可以从什么平台接私活?
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
写了很久,这是一份最适合/贴切普通大众/科班/非科班的『学习路线』
说实话,对于学习路线这种文章我一般是不写的,大家看我的文章也知道,我是很少写建议别人怎么样怎么样的文章,更多的是,写自己的真实经历,然后供大家去参考,这样子,我内心也比较踏实,也不怕误导他人。 但是,最近好多人问我学习路线,而且很多大一大二的,说自己很迷茫,看到我那篇 普普通通,我的三年大学 之后很受激励,觉得自己也能行,(是的,别太浪,你一定能行)希望我能给他个学习路线,说...
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
碎片化的时代,如何学习
今天周末,和大家聊聊学习这件事情。 在如今这个社会,我们的时间被各类 APP 撕的粉碎。 刷知乎、刷微博、刷朋友圈; 看论坛、看博客、看公号; 等等形形色色的信息和知识获取方式一个都不错过。 貌似学了很多,但是却感觉没什么用。 要解决上面这些问题,首先要分清楚一点,什么是信息,什么是知识。 那什么是信息呢? 你一切听到的、看到的,都是信息,比如微博上的明星出轨、微信中的表情大战、抖音上的...
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。 背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法 不过,当我看了源代码之后 这程序不到50行 尽管我有多年的Python经验,但我竟然一时也没有看懂 当然啦,原作者也说了,这个代码也是在无聊中诞生的,平时撸码是不写中文变量名的, 中文...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
相关热词 c#处理浮点数 c# 生成字母数字随机数 c# 动态曲线 控件 c# oracle 开发 c#选择字体大小的控件 c# usb 批量传输 c#10进制转8进制 c#转base64 c# 科学计算 c#下拉列表获取串口
立即提问