小编win*_*ton的帖子

初始化之前由闭包捕获的变量

我正在尝试将查询结果的数量存储到一个整数中,以便我可以使用它来确定表中的行数.但是,我收到以下错误:Variable 'numberOfGames' captured by a closure before being initialized'在线query.findObjectsInBackgroundWithBlock{.

我也收到其他错误Variable 'numberOfGames' used before being initialized就行了return numberOfGames.

这是包含两个错误的函数:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
    {
        var user: PFUser!

        var numberOfGames: Int

        //...query code....removed to make it easier to read

        var query = PFQuery.orQueryWithSubqueries([userQuery, userQuery2, currentUserQuery, currentUserQuery2])
        query.findObjectsInBackgroundWithBlock{
            (results: [AnyObject]?, error: NSError?) -> Void in

            if error != nil {
                println(error)
            }

            if error == nil{

                if results != nil{
                    println(results)
                    numberOfGames …
Run Code Online (Sandbox Code Playgroud)

closures uitableview swift

34
推荐指数
1
解决办法
3万
查看次数

设置栏按钮项的图像和标题?

我目前有一个自定义导航控制器,其中的条形按钮项目只是文本按钮.是否可以保留条形按钮项目的标题,但也可以将它们设置为图像(图标图像+下面的标题).

class NavigationController: UINavigationController
{
    var mode: NavigationMode = .Swipe {
        didSet {
            self.setButtonAttributes()
        }
    }

    private var leftBarButton: UIBarButtonItem!
    private var middleBarButton: UIBarButtonItem!
    private var rightBarButton: UIBarButtonItem!
    private var rightBarButton2: UIBarButtonItem!

    override func viewDidLoad()
    {
        super.viewDidLoad()
    }

    func configureNavigationItem(navigationItem: UINavigationItem)
    {
        //Configure the bar buttons text and actions


        if (self.leftBarButton == nil) {
            self.leftBarButton = UIBarButtonItem(title: "Menu1", style: .Plain,target: self, action: "menu1Pressed:")
        }
        if (self.middleBarButton == nil) {
            self.middleBarButton = UIBarButtonItem(title: "Games", style: .Plain, target: self, action: "gamesPressed:")
        } …
Run Code Online (Sandbox Code Playgroud)

uinavigationcontroller ios swift swift2

21
推荐指数
3
解决办法
2万
查看次数

将Firebase Firestore时间戳转换为日期(Swift)?

我有一个保存在Firestore字段中的日期作为我想要转换为Swift中的日期的时间戳:

June 19,2018 at 7:20:21 PM UTC-4

我尝试了以下但是我收到一个错误:

let date = Date(timeIntervalSince1970: postTimestamp as! TimeInterval)

错误:

Could not cast value of type 'FIRTimestamp' (0x104fa8b98) to 'NSNumber'

我想转换为Date的原因是我可以使用此Date扩展来模仿您在Instagram帖子上看到的时间戳:

extension Date {
    func timeAgoDisplay() -> String {
        let secondsAgo = Int(Date().timeIntervalSince(self))

        let minute = 60
        let hour = 60 * minute
        let day = 24 * hour
        let week = 7 * day

        if secondsAgo < minute {
            return "\(secondsAgo) seconds ago"
        } else if secondsAgo < hour {
            return "\(secondsAgo / …
Run Code Online (Sandbox Code Playgroud)

firebase swift google-cloud-firestore

17
推荐指数
1
解决办法
7325
查看次数

Firebase查询快照是否为零?

我正在创建一个简单的聊天应用程序来学习Swift和Firebase.我有一个查询,检查聊天室的消息加载到tableView中.查询返回快照,但我无法正确存储和加载数据.我从快照创建了一个字典,所以我可以获得各个子值,但它们返回nil:

query.observeSingleEvent(of: .childAdded, with: { snapshot in

            print(snapshot)

            let indexPaths = self.messages.enumerated().map {
                IndexPath(row: $0.0, section: 0)
            }

            guard let messagesDict = snapshot.value as? [String:AnyObject] else { return }
            guard let sender = messagesDict["sender"] as? String else { return }
            guard let text = messagesDict["text"] as? String else { return }
            guard let timestamp = messagesDict["timestamp"] as? Int else { return }

            let message = Message.init(key: snapshot.key, sender: sender as! String, text: text as! String, timestamp: timestamp)

            self.messages.append(message)

            self.tableView.reloadData()
        }) …
Run Code Online (Sandbox Code Playgroud)

ios firebase swift firebase-realtime-database

12
推荐指数
2
解决办法
1322
查看次数

CSS没有在Heroku中加载

我将我的应用程序部署到Heroku,但只加载了资产\图像.CSS文件(特别是包含90%CSS的文件,custom.css)未加载.我在本地预编译了资产并将它们推送到Heroku而没有运气.仅加载图像,而不是custom.css文件.

我注意到Heroku日志中有一个有趣的错误:

开始获取"/users/css/parallax-slider.css"为77.777.777.77于2013-06-13 02:42:09 +0000 2013-06-13T02:42:09.016864 + 00:00 app [web.1] :ActionController :: RoutingError(没有路由匹配[GET]"/users/css/parallax-slider.css"):

为什么它在我的用户控制器文件夹中寻找css?这是应用程序无法加载custom.css文件的原因吗?

production.rb

App::Application.configure do
  # Settings specified here will take precedence over those in config/application.rb

  # Code is not reloaded between requests
  config.cache_classes = true

  # Full error reports are disabled and caching is turned on
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true

  # Disable Rails's static asset server (Apache or nginx will already do this)
  config.serve_static_assets = false

  # Compress JavaScripts and CSS
  config.assets.compress = false

  # …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku

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

标签栏按钮颜色在Swift 3?

在Swift 2中,我在Storyboard中使用了用户定义的运行时属性,并使用了tintColor的关键路径来更改标签栏项目图标颜色.但是,看起来tintColor已经被Swift 3删除了.如何更改Swift 3中标签栏控制器中标签栏项目的选定颜色?

谢谢!

编辑:附加截图

在此输入图像描述

storyboard uitabbarcontroller ios swift swift3

9
推荐指数
1
解决办法
9080
查看次数

undefined方法_path(NoMethodError)

当我尝试访问包含创建帖子的表单的页面时,我在Rails应用程序中收到以下错误.我正在尝试在他的示例应用程序中实现类似于Michael Hartl的Micropost功能的功能:

NoMethodError in Home#index
undefined method `posts_path' for #<#<Class:0xb5c70744>:0xb60013b8>
Run Code Online (Sandbox Code Playgroud)

这是索引视图页面,其中包含插入表单的代码:

<%= render 'shared/post_form' if user_signed_in? %>
Run Code Online (Sandbox Code Playgroud)

_post_form.html.erb:

<%= form_for(@post) do |f| %>
  <%= render 'shared/error_messages', object: f.object %>
  <div class="field">
    <%= f.text_area :content, placeholder: "Provide your network with a status update..." %>
  </div>
  <%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

这是Home控制器:

    class HomeController < ApplicationController

    before_filter :authenticate_user!

  def index
    #render :text => "Welcome #{current_user.email}!"
    @users = User.all
    @post = current_user.posts.build if signed_in?
  end
end
Run Code Online (Sandbox Code Playgroud)

我可以在查看代码时使用一些帮助.我正盯着它,我需要别人为我审查.我是Rails的新手,如果我没有提供必要的信息,请原谅我. …

ruby-on-rails

8
推荐指数
1
解决办法
2万
查看次数

jquery没有在Rails应用程序中加载(tokeninput)

我正在尝试按照如何在这里实现jquery-tokeninput的说明:

如何使用jquery-Tokeninput和Acts-as-taggable-on

我正在尝试将标签附加到"帖子".我可以使用表单中的文本字段来创建新标签.但是,javascript根本不会发射.好像没有任何代码存在.我没有收到任何错误消息.文本字段仅用作普通文本字段,不会触发任何javascript事件.可能是什么问题?这是我的相关代码:

发布模型

attr_accessible :tag_list
acts_as_taggable_on :tags
Run Code Online (Sandbox Code Playgroud)

发布控制器

def tags 
    query = params[:q]
    if query[-1,1] == " "
      query = query.gsub(" ", "")
      Tag.find_or_create_by_name(query)
    end

    #Do the search in memory for better performance

    @tags = ActsAsTaggableOn::Tag.all
    @tags = @tags.select { |v| v.name =~ /#{query}/i }
    respond_to do |format|
      format.json{ render :json => @tags.map(&:attributes) }
    end
  end
Run Code Online (Sandbox Code Playgroud)

routes#它必须找到tags.json或在我的情况下/products/tags.json得到"posts/tags"=>"posts#tags",:as =>:tags

的application.js

$(function() {
  $("#post_tags").tokenInput("/posts/tags.json", {
    prePopulate:       $("#post_tags").data("pre"),
    preventDuplicates: true,
    noResultsText:     "No results, needs to be created.",
    animateDropdown:   false
  });
});
Run Code Online (Sandbox Code Playgroud)

出于沮丧,我还创建了一个posts.js.coffee文件,看看是不是问题所在: …

javascript jquery ruby-on-rails-3 jquery-tokeninput

5
推荐指数
0
解决办法
463
查看次数

如何在Rails中使用jquery tokeninput?

我正在尝试在我的应用程序中的表单中添加一个tokeninput jquery字段,允许用户发布状态更新.我希望用户能够将作品(单独的模型)附加到状态更新.我正在使用act_as_taggable_on gem,我的查询指定标签上下文"工作".但是,该字段不会加载任何搜索结果.

我实际上有一个第二个tokeninput字段,允许用户将标签附加到状态更新,就像这个网站使用标签附加到此发行票.它工作正常!我正在尝试镜像该功能以指定搜索工作模型的上下文,并且我正在努力实现.

有任何想法吗?非常感谢您的时间和帮助!这是相关代码:

发布模型

attr_accessible :content, :tag_list, :work_list

acts_as_taggable_on :tags
acts_as_taggable_on :works
Run Code Online (Sandbox Code Playgroud)

后控制器(更新)

def work_list
 query = params[:q]  
 @work_list = ActsAsTaggableOn::Tag.includes(:taggings).where("taggings.context = 'works'").where("tags.name ILIKE ?", "%#{params[:q].downcase.to_s}%").all
 @work_list = @work_list.select { |v| v.name =~ /#{query}/i }
  respond_to do |format|
    format.json { render :json => @work_list.map{|w| {:id => w.name, :name => w.name }}}
  end
end


def tags 
    query = params[:q]
    if query[-1,1] == " "
      query = query.gsub(" ", "")
      ActsAsTaggableOn::Tag.find_or_create_by_name(query)
    end

    #Do the search in memory for better performance …
Run Code Online (Sandbox Code Playgroud)

javascript jquery ruby-on-rails jquery-tokeninput

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

Firebase在swift中查询排序顺序?

当我将以下Firebase数据库数据加载到我的tableView中时,数据按日期按升序排序.如何通过降序(在顶部显示最新的帖子)来订购?

在Xcode中查询:

let ref = self.rootRef.child("posts").queryOrderedByChild("date").observeEventType(.ChildAdded, withBlock: { (snapshot) -> Void in
Run Code Online (Sandbox Code Playgroud)

JSON导出:

"posts" : {
    "-KMFYKt7rmfZINetx1hF" : {
      "date" : "07/09/16 12:46 PM",
      "postedBy" : "sJUCytVIWmX7CgmrypqNai8vGBg2",
      "status" : "test"
    },
    "-KMFYZeJmgvmnqZ4OhT_" : {
      "date" : "07/09/16 12:47 PM",
      "postedBy" : "sJUCytVIWmX7CgmrypqNai8vGBg2",
      "status" : "test"
    },
Run Code Online (Sandbox Code Playgroud)

谢谢!!

编辑:感谢Bawpotter,代码是完整的解决方案

更新的查询:

let ref = self.rootRef.child("posts").queryOrderedByChild("date").observeEventType(.ChildAdded, withBlock: { (snapshot) -> Void in

    let post = Post.init(key: snapshot.key, date: snapshot.value!["date"] as! String, postedBy: snapshot.value!["postedBy"] as! String, status: snapshot.value!["status"] as! String)

    self.posts.append(post)

    self.tableView.insertRowsAtIndexPaths([NSIndexPath(forRow: self.posts.count-1, inSection: …
Run Code Online (Sandbox Code Playgroud)

ios firebase swift firebase-realtime-database swift2

3
推荐指数
1
解决办法
8967
查看次数