我启动了一个 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
我正在使用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) 我的代码如下,我希望该功能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)
我该怎么改变它?
当我尝试时,我正面临以下错误
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) 我想尝试Combine框架,非常简单的用法,按 a UIButton,然后更新UILabel。
我的想法是:
@Published var cacheText: String?
$cacheText.assign(to: \.text, on: cacheLabel)
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) 按下以显示ViewController搜索功能时,我有一个搜索按钮。该视图控制器包含UITableView和UISearchController。
一切正常,但在我选择搜索结果之一之后。我想直接关闭该视图控制器,但是首先选择取消取消,然后再次选择将关闭视图控制器。像下面一样,我只想一个选择解雇。谢谢!
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) 是否可以使用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便于说明,在其中执行的语句只是占位符
我想知道什么时候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)
当变量a的deinit叫?如果b = nil随后A的deinit不叫.
我想将正值转换为负值,例如:
let a: Int = 10
Run Code Online (Sandbox Code Playgroud)
转到它-10,我当前的想法是将其用于多个-1
a * -1
Run Code Online (Sandbox Code Playgroud)
我不确定这是否正确,知道吗?
我有一个视图(MainView),里面有另一个视图(FooGroupView)。每次我单击 中的项目,FooGroupView然后将值更改传递给MainView.
就像下面这样:
白色的视图是MainView,红色的是FooGroupView。如果单击foo1则文本应该Current:foo1,然后如果单击foo2则Current: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) 正如标题所描述的,我想删除TypefacedTextView的layout_marginStart从代码.
layout.xml
android:layout_marginStart="8dp"
Run Code Online (Sandbox Code Playgroud) 有一个类似的数组:
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)
我为什么要问这个问题?
WKWebView。而且,js代码只是字符串。datas变量代码。