我正在尝试做一个精确类型的程序,我遇到错误的值,并能够找出问题区域.该Math.cos值从计算器值不同,我该如何纠正这种例如
Math.Cos(28.545742)
Run Code Online (Sandbox Code Playgroud)
给出了值-0.963394351754924但是对于所有其他计算器,它给出了正确的值0.8784358937,这是完美的,因为它完成了预期的程序输出.我怎样才能让Math.Cos给我想要的答案?这是我第一次搞乱C#数学函数.
我在GO中创建了一个restful api,每个方法基本上都与数据库交互.我用来打开数据库连接的具体语句是
db,err := sql.Open("postgres", "user=postgres password=password dbname=dbname sslmode=disable")
if err != nil {
log.Fatal(err)
println(err)
}
Run Code Online (Sandbox Code Playgroud)
这很简单,但问题是,一旦我想在该语句中更改某些内容,那么我必须为具有该语句的所有其他方法更改它.我试图做一个依赖注入或那种性质的东西,以便我可以在一个地方有这个声明或值,只是引用它.我得到一个导入周期不允许错误,但不允许导入周期.这是我的项目结构
我所做的是在Config.go中我写了这个
package Config
const Connect = "user=postgres password=password dbname=dbname sslmode=disable"
Run Code Online (Sandbox Code Playgroud)
然后在Listings.go我把它
package Controllers
import (
"net/http"
"database/sql"
"../Config"
)
func Listing_Expiration(w http.ResponseWriter, r *http.Request) {
db,err := sql.Open("postgres",Config.Connect)
if err != nil {
log.Fatal(err)
println(err)
}
Run Code Online (Sandbox Code Playgroud)
注意我有导入../Config和Config.Connect但是当我编译时,我得到导入循环不允许.我一直试图解决这个问题,但一直无法解决.
我是Swift的新手,我有一个登录页面,其中包含用户凭据,并检查其是否正确。我认为如果是正确的凭据,则以JSON返回响应,然后我尝试转到一个新的ViewController。当我尝试转到一个新的View Controller时遇到了此错误,我将其关闭了,所以我不知道为什么正在收到这个问题。这是我的代码
func LoginClosure(completion:@escaping (Bool) ->Void) {
var check = 0
let url:URL = URL(string:ConnectionString+"login")!
if submitEmail == nil || submitPassword == nil {
submitEmail = email.text!
submitPassword = password.text!
}
let session = URLSession.shared
var request = URLRequest(url: url)
request.httpMethod = "POST"
let parameter = "Email=\(submitEmail!)&password=\(submitPassword!)"
request.httpBody = parameter.data(using: String.Encoding.utf8)
DispatchQueue.main.async {
session.dataTask(with:request, completionHandler: { (data, response, error) in
if error != nil {
// print(error)
} else {
do {
let parsedData = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) …Run Code Online (Sandbox Code Playgroud) 下面是我的应用程序的一部分,当您单击屏幕时,它会记录触摸,并根据触摸移动到上一张照片或下一张照片。现在,只要您触摸屏幕,它就会注册并移动到上一个或下一个图像。我想限制这一点,只记录红色方块上的触摸,这样如果您触摸两个红色方块之间的任何东西,就不会发生任何事情。这是我的代码
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self.view)
if location.x < self.view.layer.frame.size.width / 2 {
// touched left side of screen show previous image if exist
}
else {
// touched right side of screen show next
}
}
}
Run Code Online (Sandbox Code Playgroud)
我认为关键是let location = touch.location(in: self.view)然后location.x知道你触摸的宽度位置。我只想记录屏幕最左边 10% 和最右边 10% 的点击。任何建议都会很棒我正在使用 swift 4 。
(红色方块仅用于说明。我使用照片编辑功能添加,它不是应用程序的一部分)
我现在正在创建一个从 API 获取数据的 SearchBar,以红色突出显示的文本(见下图)是我想在 tap 时传递给我的 userDefault 字符串的内容。只要我点击突出显示的红色文本,这就会起作用,当您点击该行中的任何地方(例如空白处)时,是否可以获得该值?任何建议都会很棒。
@State var model: [SearchModel]
var defaults = UserDefaults.standard
@State var isOpen: Bool = false
Run Code Online (Sandbox Code Playgroud)
以上是我的 State 变量和我的用户 default 。我不会显示整个代码,因为问题仅在于下面的 . 如您所见,我的值在foreach 中, 我只想拥有它,以便如果用户单击行的空白区域,我仍然可以执行此代码。
.onTapGesture {
isOpen = true
// I set the value here
defaults.setValue(value.name, forKey: "location")
}.fullScreenCover(isPresented: $isOpen, content: MainView.init)
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我正确的值,但它与文本相关联
ZStack {
Color(UIColor.white)
.ignoresSafeArea()
ScrollView(showsIndicators: false) {
LazyVStack {
ForEach(model) { value in
VStack(alignment: .leading) {
HStack {
Text(value.name)
.font(.system(size: 15))
.background(Color.red)
.padding(.trailing, 10.0)
.onTapGesture {
isOpen = true …Run Code Online (Sandbox Code Playgroud) 首先我想声明我是 slick 的新手,正在使用版本 3.1.1 。我一直在阅读手册,但我在查询工作时遇到问题。要么是我的连接字符串有问题,要么是我的 Slick 代码有问题。我从这里获取了我的配置http://slick.typesafe.com/doc/3.1.1/database.html并从页面底部获取了我的更新示例http://slick.typesafe.com/doc/3.1.1/查询.html。好的,这是我的代码
应用程序配置
mydb= {
dataSourceClass = org.postgresql.ds.PGSimpleDataSource
properties = {
databaseName = "Jsmith"
user = "postgres"
password = "unique"
}
numThreads = 10
}
Run Code Online (Sandbox Code Playgroud)
我的控制器 ——数据库表被称为——关系
package controllers
import play.api.mvc._
import slick.driver.PostgresDriver.api._
class Application extends Controller {
class relations(tag: Tag) extends Table[(Int,Int,Int)](tag, "relations") {
def id = column[Int]("id", O.PrimaryKey)
def me = column[Int]("me")
def following = column[Int]("following")
def * = (id,me,following)
}
val profiles = TableQuery[relations]
val db = Database.forConfig("mydb") …Run Code Online (Sandbox Code Playgroud) 我是新手使用AVPlayer for IOS swift并使其正常工作.但是我希望视频在UIView中播放,现在视频默认占用整个页面.我一直在尝试一些事情,这里没有任何作用是我的代码.我在该页面上有其他内容,这就是为什么我希望UIVIEW中的avplayer被称为newView,当我把下面的代码放到它时给我一个错误.我一直在UIView层中关注此示例AVPlayerLayer Position
import UIKit
import AVFoundation
import WebKit
import AVKit
class ExampleTable: UIViewController {
@IBOutlet weak var newView: UIView!
let avPlayerViewController = CustomAVPLayerC()
var playerView: AVPlayer?
var AVLayer: AVPlayerLayer?
override func viewDidAppear(_ animated: Bool) {
let movieURL:NSURL? = NSURL(string: "my url")
playerView = AVPlayer(url: movieURL! as URL)
avPlayerViewController.player = playerView
playerView?.isMuted = true
avPlayerViewController.view.frame = newView.frame
newView.addSubview(avPlayerViewController.view)
addChildViewController(avPlayerViewController)
self.present(self.avPlayerViewController, animated: true) {
self.avPlayerViewController.player?.play()
}
}
override func viewDidLoad() {
super.viewDidLoad()
}
} …Run Code Online (Sandbox Code Playgroud) 我正在使用swift 4并有一个应用程序,人们可以通过我的应用程序打开他们的手机相机.我有一个ViewController被调用CameraController,它具有默认值UIView,我在其上面有一个视图,CameraView它显示用户摄像头和其他按钮.
当我点击其中一个按钮时,它会通过segue(PlacesController)将我带到另一个视图控制器.当我解雇时,PlacesController我回到CameraController现在,子视图现在需要大约8或10秒再次显示.
在某些情况下我可以在保持当前子视图的同时转到另一个控制器吗?
问题是,当我进入我的segue控制器PlaceController然后回到我的状态CameraController时,相机和子层变得可见之前需要大约8或10秒.特别是这个代码下面我想知道我是否可以保持我的子层仍然运行,因为它等待10秒显示太多了.
self.CameraView.layer.insertSublayer(previewLayer!, at: 0)
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
class CameraController: UIViewController {
@IBOutlet weak var CameraView: UIView!
var previewLayer: AVCaptureVideoPreviewLayer?
let captureSession = AVCaptureSession()
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(_ animated: Bool) {
DispatchQueue.main.async {
self.beginSession()
}
func beginSession() {
// gets the camera showing and displays buttons on top of it
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
self.CameraView.layer.insertSublayer(previewLayer!, at: …Run Code Online (Sandbox Code Playgroud) 我在TableView中有一个UILabel,并且UILabel附加到GestureRecognizer。我想做的是在标签点击时将UILabel的颜色更改为红色。现在,当我轻敲UILablel时,我非常接近,Label变为红色,但是错误的TableCell改变了颜色。如果我点击单元格3,那么我希望单元格3中的UILabel更改颜色,而不是单元格4或5。
class HomeProfilePlacesCell: NSObject {
var CellCopy: HomeTVC?
@objc func PostTap(_ sender: UIGestureRecognizer) {
// This works but it often changes wrong cell
CellCopy?.post.textColor = UIColor.red
}
func HomeProfilePlaceTVC(_ tableView: UITableView, cellForRowAt indexPath: IndexPath, streamsModel : streamModel,HOMEPROFILE: HomeProfile, controller: UIViewController) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "HomeTVC", for: indexPath) as! HomeTVC
CellCopy = cell
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(PostTap(_:)))
tapGesture.delegate = self as? UIGestureRecognizerDelegate
cell.post.addGestureRecognizer(tapGesture)
cell.post.text = streamsModel.Posts[indexPath.row]
cell.post.tag = indexPath.row
return cell
}
}
Run Code Online (Sandbox Code Playgroud)
再次,代码可以正常工作,我只需要找到一种方法即可将单击的单元格的索引路径传递到PostTap方法,以便它可以更改所点击的正确单元格的颜色。任何帮助或建议都会很棒。我不想使用“表刷新”,因为我仅在单击的单元格中更改了1个UILabel。