小编Pra*_*iya的帖子

如何识别从集合(数组)中删除的对象?

我有以下代码来处理pull to refresh响应

let copyData = data.reversed() // it is pull to refresh response (load page 1)
for (_,element) in copyData.enumerated() {
    let foundElement = allObjects.filter{$0.id == element.id} // Find  element in main array
    if let firstElement = foundElement.first, let index =   allObjects.index(of: firstElement) {
        allObjects[index] = element // Replace if found
    } else {
        allObjects.insert(element, at: 0) // Insert if not found 
    }
}


self.arrayPosts = allObjects 
Run Code Online (Sandbox Code Playgroud)

哪里data是可编码类,这是拉刷新的API响应.allObjects是预装数据与分页

问题:假设allObjects我有50个对象(5个10页的ID是(1到50))用户拉动刷新我从API加载第一页(ID 1,2,3,4,5,6,7,10, 11)那么如何识别哪个对象被删除(8,9) …

arrays ios swift

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

对所有当前正在播放的视频执行一个AVPlayer的AVPlayerItemDidPlayToEndTime操作

问题:在具有播放器的collectionview单元中

如果我同时播放两个视频,并寻找第一个视频结束,然后AVPlayerItemDidPlayToEndTime触发两次,则两个视频都重新开始

在集合视图单元格中

override func awakeFromNib() {
        NotificationCenter.default.addObserver(forName: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: player?.currentItem, queue: .main, using: {[weak self]  (notification) in
            if self?.player != nil {
                self?.player?.seek(to: kCMTimeZero)
                self?.player?.play()
            }
        })
   }
Run Code Online (Sandbox Code Playgroud)

和一个播放按钮动作来播放视频。
在单元格中,我要寻找滑块。

在此处输入图片说明

任何帮助,将不胜感激

ios avplayer swift

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

DidSet 在 init 函数 swift 3 中不起作用

我已经看过

是否可以允许在 Swift 初始化期间调用 didSet?

对我来说它不起作用..

我在下面创建类的项目中工作

protocol FileManagerHelper {

    var fileName:String {get}
    var fileCategory:FileCategory {get set}
    var isFileExitsAtPath:Bool {get}
    var filePath:String {get}
    var fileType:FileTypes {get set}

}

class FileManager:FileManagerHelper {
    // Other property 

    //STORED PROPERY INIT WHEN OBJECT WILL CREATED WITH FileCategory OBJECT 
     var fileCategory:FileCategory  {
    didSet {
        switch fileCategory {
        case .XYZ:
            print("Test")


        ... other cases 
         }
     }

    required init(fileCategory:FileCategory,fileType:FileTypes = .Image) {

        self.fileCategory = fileCategory
        self.path = self.folderPath + self.fileName

   }

 }
Run Code Online (Sandbox Code Playgroud)

没有设置方法没有调用 fileCategory

注意:我不想给出默认值,我想从init方法中传递它运行时 …

initialization ios swift

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

添加子控制器或演示时,故事板中 Mapview 上的奇怪情况崩溃(添加了示例代码)

我在故事板中有视图控制器,只有地图视图。

class MapVC: UIViewController {
    class func viewController () -> MapVC {
        let storyboard = UIStoryboard(name: "Dashboard", bundle: nil)
        return storyboard.instantiateViewController(withIdentifier: "MapVC") as! MapVC
    }
    override func viewDidLoad() {
        super.viewDidLoad()

    }
}
Run Code Online (Sandbox Code Playgroud)

我有简单的登录屏幕

在登录按钮操作时,我调用此方法

 private func addChildVC (_ vc:UIViewController) {
        self.removeAllChild()
        self.addChild(vc)
        vc.view.frame = self.view.bounds
        self.view.addSubview(vc.view)
        vc.didMove(toParent: self)
        self.currentCenterViewController = vc

  }
Run Code Online (Sandbox Code Playgroud)

MapVC.viewController()
Run Code Online (Sandbox Code Playgroud)

应用程序崩溃

vc.view.frame = self.view.bounds
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我像附加调试器一样调试,当我按下登录应用程序时没有崩溃,但是当调试器未在启动时附加,然后我在模拟器中启动应用程序然后附加进程,当我按下登录按钮时应用程序崩溃

当前视图控制器也无法正常工作导致应用程序崩溃

如果我从故事板应用程序中删除 Mapview 在这两种情况下都可以正常工作

当我检查vc.isViewLoaded返回时false

试过 loadViewIfRequired() 清理派生数据,清理项目重启 xcode。验证我是否添加了正确的标识符

在此处输入图片说明

我无法理解原因 请帮助

编辑

示例应用程序

https://drive.google.com/open?id=1-otaZhhhDEH4p29CgQP7xZSX9tizceq8

重现步骤

1) 在 ios …

mapkit ios swift

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

NSDateFormatter的日期为零

不工作:

NSString *strNoteDate = @"4/21/2016 11:55:25 AM";
NSDateFormatter * noteDateFormatter = [[NSDateFormatter alloc ] init];
[noteDateFormatter setDateFormat:@"dd/MM/yyyy HH:mm:ss a"];

[noteDateFormatter setTimeZone:[NSTimeZone defaultTimeZone]];
NSDate *noteDate;
noteDate= [noteDateFormatter dateFromString:strNoteDate];
Run Code Online (Sandbox Code Playgroud)

得到noteDate = nil

请帮我

nsdateformatter ios

-2
推荐指数
1
解决办法
8606
查看次数

标签 统计

ios ×5

swift ×4

arrays ×1

avplayer ×1

initialization ×1

mapkit ×1

nsdateformatter ×1