Swift:在执行segue之前设置变量

时间:2016-12-14 16:25:41

标签: ios swift uitableview segue cell

我在“pokedex”中为每个口袋妖怪提供了一个带有单元格的tableView。当我按下Cell中的按钮时,我想显示一个包含此生物细节的视图。

我所做的是我有一个全局变量“currentPokemon”,我按下按钮时设置为所请求的小宠物。这是我的Cell代码:

MyInterface

当我尝试在详细信息视图中访问currentPokemon var时,我收到致命错误,因为currentPokemon为nil。我怎么能在segue之前执行这段代码?

2 个答案:

答案 0 :(得分:0)

您需要为选定的Pokemon添加商店,例如:

struct Pokemon {
    let name: String
}

class PokemonStore {

    static let instance = PokemonStore()
    var currectPokemon: Pokemon?
}

稍后,您可以使用PokemonStore.instance.currectPokemon

在代码的任何位置保存宠物小精灵

答案 1 :(得分:-1)

如果您使用的是segue,则应使用此func performSegue(withIdentifier identifier: String, sender: Any?)方法将数据传递给详细控制器:

-- Drop the table DROP TABLE IF EXISTS product_variant; -- Recreate the table CREATE TABLE product_variant ( Auto_ID INT(5) NOT NULL AUTO_INCREMENT, ... PRIMARY KEY (Auto_ID) ); -- insert your data INSERT INTO product_variant ...