小编met*_*tpb的帖子

我可以在Swift中扩展最后一堂课吗?

我正在使用第三方库来创建一个使用Swift创建的新应用程序.类/库的作者使用final关键字使其最终成为可能,以优化和防止覆盖其属性和方法.

例:

final public class ExampleClass {
   // Properties and Methods here
}
Run Code Online (Sandbox Code Playgroud)

是否有可能扩展类并为其添加一些新属性和方法而不覆盖默认值?

像这样:

extension ExampleClass {
    // New Properties and Methods inside
}
Run Code Online (Sandbox Code Playgroud)

class-extensions swift final-class

9
推荐指数
2
解决办法
3374
查看次数

Meteor需要时间知道是否有{{currentUser}}

我有,我想只运行时,有一些代码noUser和一些有一个时候currentUser.
所有这些都在导航模板中.像这样......

   {{#if currentUser}}  
     <li class="nav"><a href="{{pathFor 'create'}}">Post</a>  
     </li>  
     <li class="nav"><a>Ola, {{thisUser}}!</a>  
     </li>  
     <li class="nav"><a href="#" id="logout">Log Out</a>  
     </li>  
   {{/if}}  

   {{#if noUser}}  
      <li class="nav"><a href="{{pathFor 'signup'}}">Sign Up</a>  
      </li>  
      <li class="nav"><a href="{{pathFor 'login'}}">Login</a>  
      </li>  
   {{/if}}  
Run Code Online (Sandbox Code Playgroud)

所以问题是,当有一个currentUser(即我已经登录)并且我刷新页面时,{{#if noUser}}块内的代码首先显示然后是{{#if currentUser}}块,{{#if noUser}}块只是在没有用户时显示.
这是模板的帮助代码..

Template.navigation.helpers({

    thisUser: function () {
            return Meteor.user().username;

    },

    noUser: function () {
        var user = Meteor.user();

        if (!user) {
            return true;
        };
    }


});
Run Code Online (Sandbox Code Playgroud)

不知道我在这里做错了什么.:(
请帮忙.

meteor meteor-blaze meteor-accounts

5
推荐指数
1
解决办法
2999
查看次数