小编Wil*_* Hu的帖子

Rails 服务器:无法通过私有 ip 而不是本地主机访问应用程序

我启动了一个 Rails 应用程序并访问http://127.0.0.1:3000它可以工作,但如果我访问http://192.168.0.59:3000它就不行。我的 Mac 的 IP 地址是192.168.0.59

我认为它以前有效。我想使用我的 iPhone 来访问我的 mac 作为同一内部网络中的本地服务器。任何提示?

编辑:是的,这是因为 rails 服务器绑定127.0.0.1所以只有我自己的机器可以评估,所以rails s -b 0.0.0.0. 因为我用霰弹枪所以shotgun -o 0.0.0.0

web ruby-on-rails-4

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

AFNetworking接受内容类型错误:{NSDebugDescription = JSON文本未以数组或对象开头,并且选项允许未设置片段.}

我正在使用AFNetworking来获取简单/文本:

    let manager = AFHTTPRequestOperationManager()

    manager.GET(url, parameters: nil, success: { (op: AFHTTPRequestOperation!, res: AnyObject!) -> Void in

        },failure: { (op: AFHTTPRequestOperation!, er:NSError!) -> Void in
        println(op,er)

    })
Run Code Online (Sandbox Code Playgroud)

接受内容类型:

manager.responseSerializer.acceptableContentTypes
[text/javascript, application/json, text/json]
Run Code Online (Sandbox Code Playgroud)

所以我在失败块中遇到错误:

NSLocalizedDescription=Request failed: unacceptable content-type: text/plain}
Run Code Online (Sandbox Code Playgroud)

然后我以这种方式添加text/plain:

var set = manager.responseSerializer.acceptableContentTypes
set.insert("text/plain")
manager.responseSerializer.acceptableContentTypes = set
Run Code Online (Sandbox Code Playgroud)

现在的类型是:

manager.responseSerializer.acceptableContentTypes
[application/json, text/javascript, text/plain, text/json]
Run Code Online (Sandbox Code Playgroud)

但我得到了新的错误:

{ URL: http://192.168.1.9:8081/sec.jsp } { status code: 200, headers {
"Content-Length" = 44;
"Content-Type" = "text/plain; charset=utf-8";
Expires = "Thu, 01 Jan 1970 00:00:00 GMT";
Server …
Run Code Online (Sandbox Code Playgroud)

afnetworking

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

二元运算符'<'不能应用两个T操作数

我的代码如下,我希望该功能maxNumer不仅仅适用于一种类型:

var numbers3 = [3,9,23,67,34,2,7,0,1]

func maxNumer<T>(array:[T]) -> T {
    var maxNumer = array[0]
    for var i = 0; i < array.count-1; i++ {
        if maxNumer < array[i+1] { //This line gets error as title
            maxNumer = array[i+1]
        }
    }
    return maxNumer
}
Run Code Online (Sandbox Code Playgroud)

我该怎么改变它?

swift

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

LoadError:不兼容的库版本 - nokogiri

当我尝试时,我正面临以下错误

run rake db:migrate

日志:

rake aborted!
LoadError: incompatible library version - /home/ubuntu/.rvm/gems/ruby-2.3.1/gems/nokogiri-1.8.0/lib/nokogiri/nokogiri.so
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/nokogiri-1.8.0/lib/nokogiri.rb:32:in `require'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/nokogiri-1.8.0/lib/nokogiri.rb:32:in `rescue in <top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/nokogiri-1.8.0/lib/nokogiri.rb:28:in `<top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-3.2.2/lib/roadie/inliner.rb:2:in `require'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-3.2.2/lib/roadie/inliner.rb:2:in `<top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-3.2.2/lib/roadie.rb:29:in `require'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-3.2.2/lib/roadie.rb:29:in `<top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-rails-1.2.1/lib/roadie/rails.rb:6:in `require'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-rails-1.2.1/lib/roadie/rails.rb:6:in `<top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-rails-1.2.1/lib/roadie-rails.rb:1:in `require'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-rails-1.2.1/lib/roadie-rails.rb:1:in `<top (required)>'
/home/ubuntu/fs_finance/config/application.rb:5:in `<top (required)>'
/home/ubuntu/fs_finance/Rakefile:5:in `<top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
LoadError: cannot load such file -- nokogiri/2.3/nokogiri
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/nokogiri-1.8.0/lib/nokogiri.rb:30:in `require'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/nokogiri-1.8.0/lib/nokogiri.rb:30:in `<top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-3.2.2/lib/roadie/inliner.rb:2:in `require'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-3.2.2/lib/roadie/inliner.rb:2:in `<top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-3.2.2/lib/roadie.rb:29:in `require'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-3.2.2/lib/roadie.rb:29:in `<top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-rails-1.2.1/lib/roadie/rails.rb:6:in `require'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-rails-1.2.1/lib/roadie/rails.rb:6:in `<top (required)>'
/home/ubuntu/.rvm/gems/ruby-2.3.1/gems/roadie-rails-1.2.1/lib/roadie-rails.rb:1:in …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-4

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

Combine Framework Update UI doesn't work properly

我想尝试Combine框架,非常简单的用法,按 a UIButton,然后更新UILabel

我的想法是:

  1. 添加发布者

@Published var cacheText: String?

  1. 订阅

$cacheText.assign(to: \.text, on: cacheLabel)

  1. 按下按钮时分配一个值。

cacheText = "testString"

然后标签的文本应该更新。

问题是当按下按钮时,@Published值会更新,但UILabel值不会改变。例如,最初cacheLabel1已分配,但按下按钮时未分配。123789

这是完整的代码:

ViewModel.swift

import Foundation
import Combine

class ViewModel {
    @Published var cacheText: String?

    func setup(_ text: String) {
        cacheText = text
    }

    init() {
        setup("123")
    }
}
Run Code Online (Sandbox Code Playgroud)

ViewController.swift

  class ViewController: UIViewController {
    @IBOutlet weak var cacheLabel: UILabel!

    var viewModel = ViewModel()

    @IBAction func buttonPressed(_ sender: Any) { …
Run Code Online (Sandbox Code Playgroud)

ios swift combine

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

关闭UISearchController的searchResultsUpdater,需要按两次

按下以显示ViewController搜索功能时,我有一个搜索按钮。该视图控制器包含UITableViewUISearchController

一切正常,但在我选择搜索结果之一之后。我想直接关闭该视图控制器,但是首先选择取消取消,然后再次选择将关闭视图控制器。像下面一样,我只想一个选择解雇。谢谢!

 func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        searchViewController.searchBar.resignFirstResponder()
        self.dismissViewControllerAnimated(false, completion: nil)
    }
Run Code Online (Sandbox Code Playgroud)

编辑

let searchViewController = UISearchController(searchResultsController: nil)
func configureSearchController() {
        tableView.tableHeaderView     = searchViewController.searchBar
        searchViewController.delegate = self
        searchViewController.searchResultsUpdater = self
        self.definesPresentationContext = true
        searchViewController.dimsBackgroundDuringPresentation = false
    }
Run Code Online (Sandbox Code Playgroud)

ios swift uisearchcontroller

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

将对象属性与JavaScript中的localstorage中的变量进行比较

是否可以使用Javascript或Jquery将对象属性与存储在localstorage中的变量进行比较?这就是我的意思......

所以我有一个像这样的对象:

var persons = [
  {
    "firstName": "Dwight",
    "surName": "Stender",
    "picture": "https://randomuser.me/api/portraits/med/men/99.jpg",
    "id": "1"
  }
]
Run Code Online (Sandbox Code Playgroud)

我有一个存储在localstorage中的变量(名称是clickId).现在我想比较对象的id和localstorge中的变量.我可以将它们打印到控制台,所以我知道它们有效.但是当我尝试比较它们时,它突然不再起作用了(即使id和变量包含相同的数字).这是我比较两者的方式:

for (i = 0; i < persons.length; i++) {
    if (persons[i].id == localStorage.clickId) {
        document.getElementById("result").innerHTML = "yay"
    } else {
        document.getElementById("result").innerHTML = "nay"
    };
};
Run Code Online (Sandbox Code Playgroud)

注1我也试过比较两者===而不是==

注2:为了if...else便于说明,在其中执行的语句只是占位符

javascript jquery html5

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

当静态变量被释放时swift

我想知道什么时候static会发布变量,所以我创建如下:

class A {
    init() {
        print("A init")
    }

    deinit {
        print("A deinit")
    }
}

class B {
    static let a = A()

    deinit {
        print("B deinit")
    }

    init() {
        print("B init")
    }
}

var b: B? = B()
B.a
b = nil
Run Code Online (Sandbox Code Playgroud)

当变量adeinit叫?如果b = nil随后Adeinit不叫.

swift

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

快速将正值转换为负值

我想将正值转换为负值,例如:

let a: Int = 10
Run Code Online (Sandbox Code Playgroud)

转到它-10,我当前的想法是将其用于多个-1

a * -1
Run Code Online (Sandbox Code Playgroud)

我不确定这是否正确,知道吗?

negate negative-number swift

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

SwiftUI 如何将@Published 分配给另一个@Published

我有一个视图(MainView),里面有另一个视图(FooGroupView)。每次我单击 中的项目,FooGroupView然后将值更改传递给MainView.

就像下面这样:

白色的视图是MainView,红色的是FooGroupView。如果单击foo1则文本应该Current:foo1,然后如果单击foo2Current:foo2

在此输入图像描述

我的代码在这里:

测试游乐场

import SwiftUI
import PlaygroundSupport

struct FooRowView: View {

    var foo: Foo

    var body: some View {
        VStack {
            Color(.red)
            Text(foo.name)
        }
    }
}

class Foo: Identifiable, ObservableObject {
    var name: String
    var id: String

    init(name: String, id: String) {
        self.name = name
        self.id = id
    }
}

final class FooGroupViewModel: ObservableObject {

    var foos: …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui combine

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

如何以编程方式删除layout_marginStart

正如标题所描述的,我想删除TypefacedTextViewlayout_marginStart从代码.

layout.xml

android:layout_marginStart="8dp"
Run Code Online (Sandbox Code Playgroud)

android android-layout

-2
推荐指数
1
解决办法
1690
查看次数

Swift数组到字符串

有一个类似的数组:

 let datas =
    [["#A1CCE4","", "+0.0%", "+0.0%"],
     ["#4C3C2F","G", "+1.0%", "+0.2%"],
     ["#4C3C2F","G", "+3.1%", "+0.6%"],
     ["#C07155","S", "+0.3%", "+0.1%"],
     ["#C07155","G", "+2.0%", "+0.4%"],
     ["#C07155","P", "+1.8%", "+0.3%"],
     ["#AEB0B3","R", "+2.0%", "+2.0%"]]
Run Code Online (Sandbox Code Playgroud)

如何将其转换为字符串,例如:

"""let data = [["#A1CCE4", "", "+0.0%", "+0.0%"], ["#4C3C2F", "G", "+1.0%", "+0.2%"], ["#4C3C2F", "G", "+3.1%", "+0.6%"], ["#C07155", "S", "+0.3%", "+0.1%"], ["#C07155", "G", "+2.0%", "+0.4%"], ["#C07155", "P", "+1.8%", "+0.3%"], ["#AEB0B3", "R", "+2.0%", "+2.0%"]]"""
Run Code Online (Sandbox Code Playgroud)

(带有“ let data =”是否可以)

在此处输入图片说明

编辑

"\(datas)" 应该是答案。

要么

"\(String(describing: datas))"
Run Code Online (Sandbox Code Playgroud)

要么

datas.description
Run Code Online (Sandbox Code Playgroud)

我为什么要问这个问题?

  1. 数组实际上来自plist,而数字值来自不同的地方。
  2. 这些数字值需要在中的js代码中加载WKWebView。而且,js代码只是字符串。
  3. 在我的js代码中,我实际上具有相同的代码datas变量代码。

arrays ios swift

-2
推荐指数
1
解决办法
78
查看次数