小编Raj*_*r R的帖子

如何在堆栈中打开屏幕而不是在IOS中创建新屏幕

我遇到一个问题,如果一个Screen(ViewController)已经在堆栈中,那么它可以再次打开.设V1是视图控制器.我从V1到v2转到V1-> V2而不是V2-> V3.现在我想从V3打开V1.我正在使用NavigationViewController打开屏幕 -

let help = V1(nibName : "V1" , bundle:  nil)
navViewcontroller?.navigationController?.pushViewController(help, animated: true)
Run Code Online (Sandbox Code Playgroud)

这会创建一个新的V1屏幕我已经无法使用V1了.

请回答这是怎么回事,抱歉错误.

xcode applet ios swift

1
推荐指数
1
解决办法
66
查看次数

从值为空字符串的数组中删除字典(使用高阶函数)

我有一个字典数组

    var details:[[String:String]] = [["name":"a","age":"1"],["name":"b","age":"2"],["name":"c","age":""]]
    print(details)//[["name": "a", "age": "1"], ["name": "b", "age": "2"], ["name": "c", "age": ""]]
Run Code Online (Sandbox Code Playgroud)

现在,我想从值是空字符串的数组中删除字典。我已经通过嵌套的for循环实现了这一点。

    for (index,detail) in details.enumerated()
    {
       for (key, value) in detail
       {
        if value == ""
        {
            details.remove(at: index)
        }
       }
    }
    print(details)//[["name": "a", "age": "1"], ["name": "b", "age": "2"]]
Run Code Online (Sandbox Code Playgroud)

如何使用高阶函数(Map,Filter,Reduce和FlatMap)实现此目标

arrays dictionary higher-order-functions swift

0
推荐指数
1
解决办法
3945
查看次数

TableView 数据滞后

所以我面临一个问题

重新加载/添加行几次后,表视图变慢(滚动、点击响应变慢)


所以在用户登录后,应用程序会下载 10 个"WorldMessages"。它被加载到这个表视图中。

如果用户向下滚动,它会调用一个加载更多 10 的函数: loadOlderOwnWorldMessages()

每个单元格都有一个tapGestureRecognizer+longPressGestureRecognizer

而且我不得不提一下,如果用户重新加载 tableView,那么它会清除数据并再次加载前 10 个 WorldMessages


问题

我不知道为什么,但是例如,如果我重新加载 tableView 50 次并且每次向下滚动一点或更多,那么 tableView 就会变慢。

也许是因为点击/长按手势识别器或限制?

该应用程序如下所示:

在此处输入图片说明

卡顿后的视频:

https://www.youtube.com/watch?v=65NkjS-Kz3M

(如果我杀死应用程序并再次打开它,那么它会再次顺利运行,直到我重新加载它几次)

代码:

// 这不是整个代码,我删除了很多不重要的行(如重新加载函数等)

class ProfileViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UITabBarDelegate {

    // Classes
    let handleData = HandleData()
    let handleResponses = HandleResponses()
    let worldMessagesFunctions = WorldMessagesFunctions()
    let profileFunctions = ProfileFunctions()

    // View Objects
    @IBOutlet var tableView : UITableView!

    // Variables
    var userWorldMessages = [WorldMessage]()
    var lastContentOffsetY : CGFloat?

    var currentSelectedWorldMessageIndexPath …
Run Code Online (Sandbox Code Playgroud)

lag tableview ios swift

0
推荐指数
1
解决办法
1428
查看次数

快速将日期字符串转换为日期

我从服务器端得到了一个日期字符串Tue, 28 May 2019 13:24:06 +0000。我尝试执行以下操作:

let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .full
let date = dateFormatter.date(from: "Tue, 28 May 2019 13:24:06 +0000")
Run Code Online (Sandbox Code Playgroud)

结果是 nil

如何将这样的字符串转换为Date

swift dateformatter

0
推荐指数
1
解决办法
47
查看次数

如何知道要删除哪个子层?

我有以下代码行,旨在防止子层显示在另一个帖子内容上的问题。在用户退出帖子时调用该行被激发的方法。

newBaseP3FolderLayer.layer.sublayers?.remove(at: 1)
Run Code Online (Sandbox Code Playgroud)

但现在,我认为由于这段代码,在某些情况下,另一个视频会突然覆盖所有其他图像。

我注意到,只有当子层数为 14 时才会发生这种情况。(对于上面的数字也可能如此)在离开帖子时打印子层数时,我注意到代码运行良好(对于像 10 或 11 这样的值和12)直到子视图数达到14。

我怎样才能解决这个问题?

ios avplayerlayer swift

0
推荐指数
1
解决办法
573
查看次数