[问题] Swift观念跟一些疑问求救...

楼主: mick99988 (高雄人)   2017-05-27 12:15:21
原本是写C#刚跳过来写Swift
遇到一些疑问比如说
在C#我可以宣告一个静态类别
public static class csGlobal
{
public static int i = 0;
}
比如在程式内我会存取一个静态类别内的共用变量好了
这样在其他不同页面我也能去检查这变量状态,csGlobal.i == 1 blabla来做后续逻辑

但在Swift可以这样用吗?还是有另外写法呢?
就是在"不同的Controller之间都能共用变量"或是静态类别的写法
有像C# 宣告public static class Golbal{...}写法?
因最近有Firebase相关的存取问题
EX:
我的主进入点是Tab bar Controller,下方有两个分页
然后我在主页面内有FIRAuth.auth()?.addStateDidChangeListener()监听器去判断是否
登入,假如有登入了我会在主页面user = FIRUser表示有人资料。
然后下面是我想问的
我在第二分页的TableViewController的Cell上会写类似一般APP都会有的"登出"按钮,
但问题就在这边,我在另一个分页的Controller,又如何得知到主页面上变量user的资讯
...?
才能用这段
if user != nil
{
try! FIRAuth.ayth()!.signout()
user = nil
}
最后偷渡问一下
AppDelegate.swift 这页面大多功用是在做什么的阿?
我本来依名字以为是所有委托都写在这边 但好像不是?
作者: davidhsu1115 (davidhsu1115)   2017-05-27 12:56:00
静态变量可以用 struct 名称 { static let i = 0}这样写 呼叫也是用 名称.i
楼主: mick99988 (高雄人)   2017-05-27 16:51:00
swift 不支援class是静态的吗?
作者: uranusjr (←這人是超級笨蛋)   2017-05-28 04:01:00
没必要啊, 你这样写跟直接 namespace + 全域变量一样C# 是因为没有全域变量和全域函式所以才有这个东西

Links booklink

Contact Us: admin [ a t ] ucptt.com