Быстрая и грязная реализация
- (NSInteger) integerFromYoutubeDurationString: (NSString *) duration {if (duration == nil) {return 0; } NSString * startConst = @ "PT"; NSString * hoursConst = @ "H"; NSString * minutesConst = @ "M"; NSString * secondsConst = @ "S"; NSString * hours = nil; NSString * minutes = nil; NSString * seconds = nil; NSInteger totalSeconds = 0; NSString * clean = [dлительность компонентовSeparatedByString: startConst] [1]; if ([clean containsString: hoursConst]) {hours = [clean componentsSeparatedByString: hoursConst] [0]; clean = [clean componentsSeparatedByString: hoursConst] [1]; totalSeconds = [hours integerValue] * 3600; } if ([clean containsString: minutesConst]) {minutes = [clean componentsSeparatedByString: minutesConst] [0]; clean = [clean componentsSeparatedByString: minutesConst] [1]; totalSeconds = totalSeconds + [minutes integerValue] * 60; } if ([clean containsString: secondsConst]) {seconds = [clean componentsSeparatedByString: secondsConst] [0]; totalSeconds = totalSeconds + [seconds integerValue]; } return totalSeconds; }
Если ваш пользовательский интерфейс размещен на раскадровке, вы можете установить NSTimer
в viewDidLoad
вашего первого ViewController
, а затем вызвать performSegueWIthIdentifier
при срабатывании таймера:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let timer = Timer.scheduledTimer(interval: 8.0, target: self, selector: #selector(timeToMoveOn), userInfo: nil, repeats: false)
}
@objc func timeToMoveOn() {
self.performSegue(withIdentifier: "goToMainUI", sender: self)
}
Вот как вы установили segue в Storyboard:
ViewController
во второй ViewController
. [/g3]
[/g4]
Вы можете использовать этот фрагмент кода:
let delay = 1 // Seconds
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(delay * NSEC_PER_SEC)), dispatch_get_main_queue()) {
self.launchMainUI()
return
}
, который выполняет launchMainUI
метод после delay
секунд. Замените его своей собственной реализацией, где вы создаете экземпляр своего контроллера представления и представляете его, или просто вызываете segue.
Swift 4:
let timer = Timer.scheduledTimer(timeInterval: 8.0, target: self, selector: #selector(segueToSignIn), userInfo: nil, repeats: false)
@objc func segueToSignIn() {
self.performSegue(withIdentifier: "SignInSegue", sender: self)
}
В вашем действии вы должны написать, как в этом примере
self.performSegueWithIdentifier («имя segue», отправитель: self)
после того, как вы должны реализовать этот метод
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if(segue.identifier == "name of segue")
{
var view : yourviewcontroller = segue.destinationViewController as yourviewcontroller
}
}