如何在 SwiftUI 中添加NotificationCenter.default.addObserve?
当我尝试添加观察者时,出现以下错误
'#selector' 的参数指的是未暴露给 Objective-C 的实例方法 'VPNDidChangeStatus'
但是当我在 func 前面添加@objc时,我得到以下错误
@objc 只能与类的成员、@objc 协议和类的具体扩展一起使用
这是我的代码
let NC = NotificationCenter.default
var body: some View {
VStack() {
}.onAppear {
self.NC.addObserver(self, selector: #selector(self.VPNDidChangeStatus),
name: .NEVPNStatusDidChange, object: nil)
}
}
@objc func VPNDidChangeStatus(_ notification: Notification) {
// print("VPNDidChangeStatus", VPNManager.shared.status)
}
Run Code Online (Sandbox Code Playgroud) 如何删除<i>标签的斜体效果,以便我可以
<span>
test<i>test</i>
</span>
Run Code Online (Sandbox Code Playgroud)
我<i>使用jquery内部html 填充标签中的一些文本所以它以斜体显示所以我不想要斜体效果是否有任何方法我可以使用CSS删除斜体效果.我不能使用其他标签,所以只需要使用<i>标签.
今天当我尝试使用此命令续订证书时,我遇到了错误
/opt/letsencrypt/letsencrypt-auto renew --config /etc/letsencrypt/config.ini --agree-tos && apachectl graceful
Run Code Online (Sandbox Code Playgroud)
也试过这个命令
/opt/letsencrypt/letsencrypt-auto renew
Run Code Online (Sandbox Code Playgroud)
错误:
Traceback (most recent call last):
File "/root/.local/share/letsencrypt/bin/letsencrypt", line 7, in <module>
from certbot.main import main
File "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/certbot/main.py", line 12, in <module>
import zope.component
File "/root/.local/share/letsencrypt/local/lib/python2.7/dist-packages/zope/component/__init__.py", line 16, in <module>
from zope.interface import Interface
ImportError: No module named interface
Run Code Online (Sandbox Code Playgroud)
我做了很多研究,没有找到解决方案.
我想扩展行高并显示内容.我在视图中显示我的内容,当我点击一个单元格时它应该展开,如下图所示,但没有重新加载UITableview.
我到现在为止做了什么.
1)我尝试扩展内部视图,但它没有用
2)我尝试添加rowAtIndex它变得复杂了
3)我尝试更改更改行高度并滚动索引它工作正常,但我不想那样.(我必须重新加载表视图的坏事)
但我得到了很多答案,但它没有解决我的问题,因为我在数组(数据源)中的数据不断更新,如果我在特定索引处刷新索引中数组中的数据可能不同它可能显示错误的输出.
说明
我的意思是我有一个struct数组,我一直在后台更新它,一旦数据发生变化并重新加载表视图,但如果我在索引处重新加载行,如果数组中的数据已经更改,它可能显示重复正确吗?所以我想只是改变行的高度而不进行任何重新加载.
重装的问题是
虽然扩展数据可能会在数组中发生变化.所以我已经创建了一个视图,所有信息都预先加载,一旦我点击单元格的高度应该从45变为76,一旦我从最后一个单元格76到45再次点击不同的单元格,这个单元格45到76.
当我正在尝试登录时,我正面临着这个错误.
remote: /tmp/build_f459d376d1bc10ac2e93e52575ac5ea9/Sources/App/main.swift:368:49: error: argument type 'String' does not conform to expected type 'CVarArg'
remote: NSLog("FILE NOT AVAILABLE", "TESTNOTI")
remote: ^~~~~~~~~~
remote: as! CVarArg
Run Code Online (Sandbox Code Playgroud)
mycode的
if fileManager.fileExists(atPath: (drop.config["servers", "default", "KeyURL"]?.string ?? "default")) {
NSLog("FILE AVAILABLE", "TESTNOTI")
} else {
NSLog("FILE NOT AVAILABLE", "TESTNOTI")
}
Run Code Online (Sandbox Code Playgroud) 我试图在Google地图上添加一个按钮.我尽我所能,但没有任何人可以帮助我..在Xcode预览它显示在顶部但在运行应用程序后它来到谷歌地图.
运行app后的图片
它在XCODE中的外观
地图编码
import UIKit
import GoogleMaps
class HomeViewController: UIViewController, CLLocationManagerDelegate {
@IBOutlet weak var scrollView: UIScrollView!
@IBAction func refreshLocation(sender: AnyObject) {
locationManager.startUpdatingLocation()
}
@IBOutlet weak var gMapView: GMSMapView!
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation
locationManager.requestAlwaysAuthorization()
locationManager.startUpdatingLocation()
self.scrollView.contentSize=CGSizeMake(320, 700)
let camera = GMSCameraPosition.cameraWithLatitude(15.4989, longitude: 73.8278, zoom: 17)
gMapView.camera = camera
gMapView.myLocationEnabled = true
self.view.addSubview(gMapView)
let marker = GMSMarker()
marker.map = self.gMapView
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
extension …Run Code Online (Sandbox Code Playgroud) 当我在Xcode 7中编辑我的约束时,我在Interface Builder中找到了标识符字段.约束的标识符是什么?如何使用它?使用标识符可以以编程方式访问约束并更改常量吗?我的问题是为什么以及该标识符如何有用?
有没有办法通过在子视图中循环并再次循环约束子视图的标识符来访问约束.我的意思是有没有办法我们可以直接访问约束而无需循环.
UPDATE
我尝试了这段代码,但只访问了宽度和高度约束
for subview in view.subviews {
for constraint in subview.constraints() {
if constraint.identifier == "identifier" {
return constraint
}
}
}
Run Code Online (Sandbox Code Playgroud) 我已经设置了一个完美的服务器并且我已经编写了所有的API,但是我被困在CURL中,我不知道如何设置我之前从未使用过CURL的头文件.
我正在设置支付网关,我想设置授权标题并发送正文数据,但我不知道如何.
来自示例http://perfect.org/docs/cURL.html
let curlObject = CURL(url: "http://www.perfect.org")
curlObject.perform {
code, header, body in
print("Request error code \(code)")
print("Response: \(curlObject.responseCode)")
print("Header: \(header)")
print("Body: \(body)")
}
Run Code Online (Sandbox Code Playgroud)
我提到这个却没有帮助怎么办?
您好,我试图将地图放在子视图中,但是当我将Google地图放在子视图中时,标记不起作用,GPS坐标不起作用
-SWIFT代码
import UIKit
import GoogleMaps
class HomeViewController: UIViewController, CLLocationManagerDelegate {
@IBOutlet weak var mapView: GMSMapView!
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
locationManager.delegate = self
locationManager.requestAlwaysAuthorization()
let camera = GMSCameraPosition.cameraWithLatitude(15.4989, longitude: 73.8278, zoom: 6)
let mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)
mapView.myLocationEnabled = true
// self.view = mapView
self.view.addSubview(mapView)
let marker = GMSMarker()
marker.position = CLLocationCoordinate2DMake(15.4989, 73.8278)
marker.title = "Panjim"
marker.snippet = "Near Don Bosco,Alphran Plaza"
marker.map?.addSubview(mapView)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of …Run Code Online (Sandbox Code Playgroud) 从Image picker中选择一个图像并尝试将PHAsset转换为UIImage后,图像的png图像会失去透明度.我尝试到处寻找,但没有发现任何相关信息.
func getAssetThumbnail(asset: PHAsset) -> UIImage {
let manager = PHImageManager.defaultManager()
let option = PHImageRequestOptions()
var thumbnail = UIImage()
option.synchronous = true
manager.requestImageForAsset(asset, targetSize: CGSize(width: 341.0, height: 182.0), contentMode: .AspectFit, options: option, resultHandler: {(result, info)->Void in
thumbnail = result!
})
return thumbnail
}
Run Code Online (Sandbox Code Playgroud)
之前的形象
选择并将其设置为图像视图后