在启动app(swift)时启动保存状态

时间:2015-08-22 00:43:54

标签: ios swift nsuserdefaults

到目前为止应用程序所执行的操作是用户通过单击按钮来浏览字符串数组,当他们离开并从多任务中删除应用程序时,它会保存在数组中的位置。但是当你启动应用程序时,你会遇到第一个String,但是你必须按下名为showFunFact()的按钮才能到达你离开的地方。我希望当前的一个在启动时来 这是代码:

let TechnologyfactBook = TechFactBook()
var TechfactIndex = 0

override func viewDidLoad() {
    super.viewDidLoad()  
}

@IBAction func showFunFact() {
    if (UIApplication.sharedApplication().applicationIconBadgeNumber != 0){
        UIApplication.sharedApplication().applicationIconBadgeNumber = 0
    }
    if (TechfactIndex >= TechnologyfactBook.TechfactsArray.count) {
        self.TechfactIndex = 0
    }

    TechfactIndex = NSUserDefaults.standardUserDefaults().integerForKey("ByteLocation")

    TechByteLabel.text = TechnologyfactBook.TechfactsArray[TechfactIndex]
    TechfactIndex++
    NSUserDefaults.standardUserDefaults().setInteger(TechfactIndex, forKey: "ByteLocation")
    NSUserDefaults.standardUserDefaults().synchronize()
}

1 个答案:

答案 0 :(得分:0)

只需将加载最后一个位置的代码添加到viewDidLoad中。代码所做的是首先检查用户的最后位置是否大于起始位置,我假设为0.一旦检查到这一点,它将文本值分配给用户上次拥有的值。

'use strict';

var testData = require('./path/to/json.json');

describe('your test', function() {
    testData.forEach( function (data) {
        it('should read from an external json', function(){
            element(by.id(data.someId)).sendKeys(data.sendSomeKeys);
        });
    });
});