作者mick99988 (高雄人)
看板MacDev
标题[问题] Swift观念跟一些疑问求救...
时间Sat May 27 12:15:21 2017
原本是写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 这页面大多功用是在做什麽的阿?
我本来依名字以为是所有委托都写在这边 但好像不是?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.173.151.80
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1495858523.A.C16.html
1F:→ davidhsu1115: 静态变数可以用 struct 名称 { static let i = 0} 05/27 12:56
2F:→ davidhsu1115: 这样写 呼叫也是用 名称.i 05/27 12:56
3F:→ mick99988: swift 不支援class是静态的吗? 05/27 16:51
4F:→ uranusjr: 没必要啊, 你这样写跟直接 namespace + 全域变数一样 05/28 04:01
5F:→ uranusjr: C# 是因为没有全域变数和全域函式所以才有这个东西 05/28 04:01