2015-07-28 64 views
-4

我有一个登录页面,在OBJ C,代码如下转换OBJ C到SWIFT代码物业

@property (nonatomic, assign, getter=isLoggedIn) BOOL loggedIn; 
if (self.isLoggedIn == NO) 
{ 
    // call a function 
} 
else 
{ 
    self.loggedIn = NO; 

    [self updateUI]; 
} 

我需要这个代码转换为迅速,那么如何如何在属性中设置getter = isLoggedIn并在上面使用swift代码。

回答

0

在顶部作为对象的属性:

class MyViewController: UIViewController { 
    var isLoggedIn: Bool = false 
} 

,然后当你再次需要它:

if !self.isLoggedIn 
{ 
// call a function 
} else 
{ 
    self.isLoggedIn = false 
    self.updateUI() 
} 
+0

@属性(非原子,分配,吸气剂= isLoggedIn)BOOL的loggedIn;这是如何设置属性obj c – Manik

0

这种“吸气剂= isLoggedIn”是你不和可以”不要在Swift中做。这是一个Objective-C模式。只需将变量声明为loggedIn并将其设置为loggedIn = true并将其作为Bool isTheUserLoggedIn = loggedIn

类看起来像这样:

class MyClass { 
    var loggedIn = false 
} 
+0

http://stackoverflow.com/questions/29598680/how-to-expose-existing-property-on-obj-c-class-using-an-extension-protocol-in- sw – Manik

+0

请检查上面的链接,他们使用的属性在swift ..但我不知道如何使用它 – Manik

+0

他们使用计算属性。所以它不是一个真正的属性,但是每次抓取它时都会计算出一个值。 为什么要命名getter isLoggedIn而不是loggedIn是如此重要? – Ben