SpriteKit for iOS

has anyone used this?
I have a need to create a particular animation. I have managed to create an animated sprite with the frames change on a constant basis (every 0.2 seconds) and it looks great

But now I also need another sprite (3 frames), but the frames need to change on a slower basis, and NOT constant.

the first frame is 7 seconds long, the 2nd is 3 seconds, and the 3rd is 1 second, then the sequence needs to just keep repeating…

Well this “works” but I think its ugly… anyone have a cleaning idea?
each letter has 3 images of a different color

class classLETTER : SKSpriteNode {  
    private var objType      : String = "ladybug"
    private var zXY          = CGPoint.zero
    private var zBoardSquare = CGPoint.zero
    private var zSize        : CGFloat = 0
    private var colors   = [SKTexture]()
    var zColor : Int = 0
    required init?(coder aDecoder: NSCoder) { fatalError("NSCoding not supported") }

    init(_ ltr:String,_ size:CGFloat) {
        super.init(texture: nil, color: .clear, size:CGSize(width:size,height:size))
        zSize = size
        for i in (1...3) {
            colors.append(SKTexture(imageNamed: "letter\(ltr)\(i)"))
        }
        self.texture = colors[0]
        let tag1 : SKAction = SKAction.run { self.zColor=0; self.texture = self.colors[self.zColor];print(0) }
        let tag2 : SKAction = SKAction.run { self.zColor=1;  self.texture = self.colors[self.zColor];print(1)  }
        let tag3 : SKAction = SKAction.run { self.zColor=2;  self.texture = self.colors[self.zColor];print(2)  }
       let wait1 : SKAction = SKAction.wait(forDuration: 7)
        let wait2 : SKAction = SKAction.wait(forDuration: 3)
        let wait3 : SKAction = SKAction.wait(forDuration: 1)

   
        let seq:SKAction = SKAction.sequence( [ tag1,wait1,tag2,wait2,tag3,wait3 ])
        self.run(SKAction.repeatForever( seq ) )
    }


}