有时我必须在主线程上做一些事情,建议将代码放在OperationQueue.main.addOperation。
其他时候,建议在其中编写代码DispatchQueue.main.async。
两者之间有什么区别?
(有一个类似的问题标题,但是内容不匹配。)
如何在没有PHP的情况下发送PUT HTTP请求?
我已经使用了PHP堆,但现在我正在为智能手机写作.(使用Swift,Java并且是C#).(如果被问到,我可以显示我使用的快捷代码.)
GET很简单,您也可以将URL放在Web浏览器中以获得响应.我有几种方法来获取客户,地址,产品等,这些方法运作良好.(我还有许多对象模型 - 比如数据库表结构 - 存储数据.).(因为JSON更容易解码/编码,我应用"&output_format = JSON".如果我也可以PUT/POST JSON ...)
POST也在工作!我可以获取空白模式,插入新的详细信息(使用纯文本)并将XML发送(POST)到URL.它确实是这样,并发送一个包含插入记录的响应,其中包含CDATA包含的详细信息.(即我想在abc中插入input_data)响应包括指定的id.这很好用!
然而,当涉及到制作PUT(以及将来可能是DELETE ......)时,我一直都会遇到错误.
使用Fiddler,我可以查看确切的事务(请求和响应):[请参阅:https : //ibb.co/kC0QTy ]我还使用了REST客户端应用程序(WizTools.org),其响应也是例外.
但是使用PUT - 更新细节,我首先获取记录(通过id)根据需要进行更改然后我将XML返回到相同的URL.所以它与上面类似,但它失败了:
(相反,发送JSON会更容易.)
PUT http://example.com/api/customers?ws_key=ABC..XYZ
Content-Type: application/xml; charset=utf-8
Accept: */*
...
<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<customer>
<id>
...
</customer>
</prestashop>
Run Code Online (Sandbox Code Playgroud)
它响应:
HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset=utf-8
...
<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<errors>
<error>
<code><![CDATA[127]]></code>
<message><![CDATA[XML error : String could not be parsed as XML
XML length : 0
Original XML : ]]></message>
</error> …Run Code Online (Sandbox Code Playgroud) 在旧iPad(使用iOS 9.4)上测试我的应用程序时,会显示以下消息:
" 想要网格大小64.000000,最小显示z:13,最小下载z:16.这可能是一个错误! "
这不会出现在iOS 11模拟器上.
我使用的代码不正确吗?这应该报告为错误吗?
这是一个非常简单的地图 - 我将委托设置为self并在某个位置设置了一个引脚.
为什么我会收到此消息?
我想展示我的对象,在绘制内部组件后,滚动到 45 度角。我怎样才能轻松实现这一目标?
该对象是用 a 的子类绘制的NSView。它结合了多重NSBezierPath和填充,包括弧线等。然后同一个对象在不同的旋转位置使用几次 -不是动画!
我使用该NSView.rotate(byDegrees:)方法,但它似乎只适用于 90 度的因素 - 其他角度似乎会缩放并省略曲线(奇怪的结果)。
您可能不需要代码,但这是对象:
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
wantsLayer = true
layer?.masksToBounds = false
let context = NSGraphicsContext.current!.cgContext
let path = NSBezierPath(ovalIn: dirtyRect)
NSColor.red.setFill()
path.fill()
}
Run Code Online (Sandbox Code Playgroud)
然后:
let object = MyObject(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
view.addSubView(object)
object.rotate(byDegrees: 23)
Run Code Online (Sandbox Code Playgroud)
我想看到很多MyObjects,每个都转动不同的量。我怎样才能轻松做到这一点?