- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下是我的代码。我读到使用 NSDateFormatters 很昂贵,但我不确定这是否是最终导致问题的原因。
这是我的代码。
func tableViewOld(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!, object: PFObject!) -> UITableViewCell! {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! TableViewCell
if cell.backgroundView == nil {
cell.backgroundView = UIImageView(frame: cell.contentView.bounds)
cell.backgroundView?.contentMode = UIViewContentMode.ScaleToFill
cell.backgroundView?.clipsToBounds = true
cell.contentView.backgroundColor = UIColor.clearColor()
}
let backgroundImageView = cell.backgroundView as! UIImageView
backgroundImageView.image = UIImage(named: "nobg")
var image : UIImage = UIImage(named:"goodbg")!
cell.nopebutton.tag = indexPath.row
cell.nicebutton.tag = indexPath.row
cell.messageButton.tag = indexPath.row
cell.mText.text = object.valueForKey("text") as? String
let count = object.valueForKey("replies") as! Int
cell.replies.text = "\(count)"
cell.replies.textColor = UIColor.whiteColor()
let point = object["location"] as! PFGeoPoint
let location = CLLocation(latitude: point.latitude, longitude: point.longitude)
let currentLocation = CLLocation(latitude: currLocation!.latitude, longitude: currLocation!.longitude)
let distance = currentLocation.distanceFromLocation(location)
if distance < 50 {
// TODO: Fill
cell.locationButton.text = "Nearby"
} else {
let distanceFormatter = MKDistanceFormatter()
distanceFormatter.unitStyle = MKDistanceFormatterUnitStyle.Abbreviated
cell.locationButton.text = distanceFormatter.stringFromDistance(distance) + " away"
}
cell.layoutMargins = UIEdgeInsetsZero
let score = object.valueForKey("count") as! Int
cell.count.text = "\(score)"
if cell.count.text?.toInt() == 0
{
cell.messages.imageView?.image = UIImage(named:"0")
cell.chatbubble.image = UIImage(named:"ch")
cell.bg.image = UIImage(named: "regular")
cell.locationButton.textColor = UIColor.blackColor()
cell.mText.textColor = UIColor(red: 126.0/255, green: 126.0/255, blue: 126.0/255, alpha: 1)
cell.nicebutton!.setImage(UIImage(named:"ups"), forState: UIControlState.Normal)
cell.nopebutton!.setImage(UIImage(named:"downs"), forState: UIControlState.Normal)
cell.count.textColor = UIColor.whiteColor()
cell.time.textColor = UIColor(red: 52.0/255, green: 152.0/255, blue: 219.0/255, alpha: 1)
}
if cell.count.text?.toInt() > 0
{
cell.messages.imageView?.image = UIImage(named:"1")
cell.chatbubble.image = UIImage(named:"chg")
cell.bg.image = UIImage(named: "gtrl")
cell.time.textColor = UIColor(red: 42.0/255, green: 204.0/255, blue: 113.0/255, alpha: 1)
cell.locationButton.textColor = UIColor.blackColor()
cell.mText.textColor = UIColor(red: 42.0/255, green: 204.0/255, blue: 113.0/255, alpha: 1)
cell.count.textColor = UIColor.whiteColor()
}
if cell.count.text?.toInt() < 0
{
cell.messages.imageView?.image = UIImage(named:"-1")
cell.bg.image = UIImage(named: "ntrl")
cell.chatbubble.image = UIImage(named:"chr")
cell.locationButton.textColor = UIColor.blackColor()
cell.time.textColor = UIColor(red: 231.0/255, green: 76.0/255, blue: 50.0/255, alpha: 1)
cell.mText.textColor = UIColor(red: 231.0/255, green: 76.0/255, blue: 50.0/255, alpha: 1)
cell.count.textColor = UIColor.whiteColor()
}
if cell.count.text?.toInt() >= 100
{
cell.messages.imageView?.image = UIImage(named:"100")
cell.chatbubble.image = UIImage(named:"chb")
cell.locationButton.textColor = UIColor.blackColor()
cell.time.textColor = UIColor(red: 249.0/255, green: 194.0/255, blue: 65.0/255, alpha: 1)
cell.mText.textColor = UIColor(red: 249.0/255, green: 194.0/255, blue: 65.0/255, alpha: 1)
cell.bg.image = UIImage(named: "neutral")
cell.count.textColor = UIColor.whiteColor()
}
if let dict : NSDictionary = NSUserDefaults.standardUserDefaults().objectForKey("userNiceNopeDictionary") as? NSDictionary {
cell.nicebutton.enabled = true
cell.nopebutton.enabled = true
if let nice = dict[object.objectId] as? Bool{
if nice {
cell.nicebutton.enabled = false
}
else {
cell.nopebutton.enabled = false
}
}
}
if let user = PFUser.currentUser() {
user["createdBy"] = user.username
//user.saveInBackground()
}
let dateUpdated = object.createdAt as NSDate
let dateFormat = NSDateFormatter()
dateFormat.dateFormat = "h:mm a"
cell.time.text = (NSString(format: "%@", dateFormat.stringFromDate(dateUpdated)) as String) as String
let replycnt = object.objectForKey("replies") as! Int
if cell.count.text == "\(-10)"
{
object.deleteInBackground()
}
return cell
}
我正在使用这个扩展。
extension NSDate
{
func hour() -> Int
{
//Get Hour
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour, fromDate: self)
let hour = components.hour
//Return Hour
return hour
}
func minute() -> Int
{
//Get Minute
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitMinute, fromDate: self)
let minute = components.minute
//Return Minute
return minute
}
func toShortTimeString() -> String
{
//Get Short Time String
let formatter = NSDateFormatter()
formatter.timeStyle = .ShortStyle
let timeString = formatter.stringFromDate(self)
//Return Short Time String
return timeString
}
}
有什么办法可以优化这个吗?同样,这并不是一直滞后,只是有时会发生,但总的来说似乎没问题。我希望永远一切都好。我再次觉得 NSDateFormatter 可能是问题所在,但我不太确定。
最佳答案
您在 cellForRow 方法中做了很多事情。作为比较,我的 cellForRow 方法由大约 5 行代码组成。您应该考虑创建一个自定义单元类来删除大量代码。代码太多只会让找出问题原因变得更加困难。
配置文本字段的代码的每个部分都可以是一个新函数。只是,每个函数的目标是 10 行代码。如果您有更多内容,请将内容移至新函数中(这是有意义的)。
可能导致该问题的原因是每次使用 toShortTimeString
方法时都会创建 NSDateFormatter
。
事实上,我刚刚看到您正在自己创建另一个 NSDateFormatter
。创建 NSDateFormatter 是一件昂贵的事情。您应该创建一个作为 TableViewController
的属性,并一遍又一遍地使用它,而不是一次又一次地创建它。
这似乎可能是问题所在,但您的函数太大,无法阅读全部内容。也要努力解决这个问题。
函数所需的行数... 3.
关于swift - 我的滚动虽然通常很顺利,但有时会很不稳定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32380215/
如果输入稳定,我想触发 AJAX 请求(以便不在每个新字符后发送请求)。我尝试了以下方法: $('#input').keyup(function(){ // Get the value when
我读到,我们可以插入以将选择排序更改为稳定排序,而不是交换。我在网上得到了以下相同的实现。 void selection ( int a[], int n ) { while ( --n >
我正在尝试创建一个非常节省空间的不寻常的关联数组实现,我需要一个满足以下所有条件的排序算法: 稳定(不改变具有等键的元素的相对顺序。) 就地或几乎就地(O(log n) 堆栈很好,但没有 O(n) 空
我有一个节点的无线网状网络,每个节点都能够向其邻居报告其“距离”,以(简化的)信号强度来衡量。节点在地理上位于 3d 空间中,但由于 radio 干扰,节点之间的距离不需要在三角(三角?)上一致。即,
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在实现一个玩具调度程序,它读取进程规范(例如到达时间、总运行时间)的输入文件,然后根据随机 io/cpu 突发调度进程。 文件格式 Arrival time, total CPU time, CP
我正在使用 JRedis 的同步实现,但我打算切换到异步方式与 Redis 服务器通信。 但在此之前我想问一下社区 JRedisFuture 是否实现了 alphazero 的 jredis对于生产使
我们正在为我们的公司构建一个RESTful API,它将提供XML,JSON和可能的其他内容类型。 我的团队正在寻找一个框架(按优先顺序排列): 有据可查 理想的情况下,它具有出色的教程以及繁荣的社区
我的网站希望用户上传他们的照片...但我该如何保护我们的服务器免受伤害?只允许 JPG 应该可以避免病毒问题,但如果有人选择 10Gb 文件怎么办 - 这会减慢整个网站的速度吗? 我们使用的是经典 A
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 8 个月前关闭。 Improve this ques
据我所知,paintEvent() 是在 QApplication 对象的“主循环”中执行的,并且可以为其内部系统任务花费时间,从而延迟执行排队槽或其他事件。 但是,如果我需要播放非常流畅的动画并且我
我想对随机排序的 ActiveRecord 模型列表(来自 MySQL 数据库的行)进行分页。 但是,这种随机化需要在每个 session 的基础上持续存在,以便访问该网站的其他人也会收到一个随机的、
在 Flutter Web 稳定后,我尝试按照文档中给出的说明将我的 Flutter Mobile 应用程序转换为 Flutter Web。一切都很好,但这里的问题是 Web 上的文本不可选择!我刚刚
我正在尝试制作一个包含 Nginx stable 最新使用 vts 模块编译的 dockerfile .... 我遇到了一个大问题,当我放入将下载的 docker 文件时我找不到一些汽车链接安装最新的
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我正在使用以下命令将 Airflow 部署到 Kubernetes 中:https://github.com/helm/charts/tree/master/stable/airflow 我正在尝
我已经安装了本地测试elasticsearch和logstash,它们似乎看不到本地es-知道在集群/ ns中如何看到es吗? helm repo add elastic https://helm.e
我最近加入了一家公司,担任发布工程师,在这里,大量的开发团队以各种语言开发了众多服务,应用程序和Web应用程序,它们之间具有各种相互依赖性。 我正在尝试找到一种简化并最好自动发布的方法。当前,发布团队
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我想知道一种在 Windows 上使用简单批处理和 ffmpeg 稳定 goPro 视频的简单方法。 最佳答案 1) 在您的计算机上安装 ffmpeg:按照 steps 安装 2) 在您要处理的视频旁
我是一名优秀的程序员,十分优秀!