我有一个视图控制器,视图的背景我需要半透明,并继续显示下面的视图.我调整了nib
文件中的不透明度,并尝试将视图控制器推入导航堆栈并以模态方式呈现,但加载后,前一个视图被卸载.我该怎么解决这个问题?
我正在尝试在新的Xcode 9测试版中运行我当前的项目,但是当我这样做时它会说Module compiled with Swift 3.1 cannot be imported in Swift 4.0
.我怎么解决这个问题?我不是在使用cocoapods.
我有一个类似的字符串"75003 Paris, France"
或"Syracuse, NY 13205, USA"
.
我想使用相同的代码从这些字符串中删除所有这些数字.
我怎样才能做到这一点?
我正在尝试使用Swift单击文本控件时显示日期选择器.
我是这样做的:
var DatePickerView: UIDatePicker = UIDatePicker()
DatePickerView.datePickerMode = UIDatePickerMode.Date
txtBirthdate.inputView = DatePickerView
Run Code Online (Sandbox Code Playgroud)
现在,当用户点击文本框而不是键盘时,我们会得到一个日期选择器,问题在于这一行:
DatePickerView.addTarget(self, action: "handelDatePicker", forControlEvents: UIControlEvents.ValueChanged)
Run Code Online (Sandbox Code Playgroud)
我像这样处理控件:
func handelDatePicker()
{
txtBirthdate.text = dateFormatter.stringFromDate(DatePickerView.date)
}
Run Code Online (Sandbox Code Playgroud)
我不知道发生了什么,它一直给我一个无效的选择器异常,有人想出来了,我知道Swift很新.
你能帮我看看如何在NSArrayController
使用Smart KeyPaths修改内容时收到通知吗?
灵感来自
键值观察:https: //developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html#//apple_ref/doc/uid/TP40014216-CH7-ID12
Smart KeyPaths:为Swift提供更好的键值编码:https: //github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md
我模仿了文章的示例代码.
class myArrayController: NSArrayController {
required init?(coder: NSCoder) {
super.init(coder: coder)
observe(\.content, options: [.new]) { object, change in
print("Observed a change to \(object.content.debugDescription)")
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这是行不通的.对目标对象所做的任何更改都不会触发通知.
相比之下,下面列出的典型方法是有效的.
class myArrayController: NSArrayController {
required init?(coder: NSCoder) {
super.init(coder: coder)
addObserver(self, forKeyPath: "content", options: .new, context: nil)
}
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if …
Run Code Online (Sandbox Code Playgroud) 我想使用Swift 4中基于块的KVO来观察值的变化UserDefaults
.我能够观察的关键路径做到这一点WKWebView
的estimatedProgress
,但都没有成功与UserDefaults
因为提供的关键路径是不是它的寻找.提供一个字符串是不够的(无法推断通用参数'值'),前缀\
不够(表达式类型没有更多上下文是模糊的).创建KeyPath
观察值的正确方法是UserDefaults
什么?
observerToken = UserDefaults.standard.observe("myvalue") { (object, change) in
//...
}
Run Code Online (Sandbox Code Playgroud) 每次我开始运行我的应用程序,或者我刚刚启动Xcode时出现此错误:
我认为问题是我不知道我的.xctest文件在哪里.我想我可能会删除它们.
如果有人帮助我,那将是非常好的!也许告诉我如何恢复这些文件,制作一些新文件或其他东西.
我正在使用Moya 10.0.1,当我尝试将图像上传到服务器时,我遇到了问题.
我确实按照分段上传示例进行操作,这是我的设置代码:
typealias UpdateUserAvatarParameters = (userId: Int, image: UIImage)
enum APITarget {
case updateUserAvatar(parameters: UpdateUserAvatarParameters)
}
extension APITarget: TargetType {
public var baseURL: URL { return URL(string: "http://domain/api")! }
public var path: String {
switch self {
case .updateUserAvatar: return "/postuserimage"
}
}
public var method: Moya.Method {
switch self {
default: return .post
}
}
public var task: Task {
switch self {
case .updateUserAvatar(let parameters):
let imageData = UIImagePNGRepresentation(parameters.image) ?? Data()
let userIdData = parameters.userId.string.data(using: …
Run Code Online (Sandbox Code Playgroud) 我想用来SpriteKit
播放声音,问题是我使用的功能:
[SKAction playSoundFileNamed:@"sound.wav" waitForCompletion:NO];
Run Code Online (Sandbox Code Playgroud)
但是当我想暂停游戏时,声音仍在播放.
如何停止时的声音skview.pause
设置为YES
,当恢复声音skview.pause
设置为NO
?
var test = [String : String] ()
test["title"] = "title"
test["description"] = "description"
let encoder = JSONEncoder()
let json = try? encoder.encode(test)
Run Code Online (Sandbox Code Playgroud)
如何查看的输出json
?
如果我print(json)
唯一得到的是Optional(45 bytes)
swift ×9
ios ×4
swift4 ×4
xcode ×2
audio ×1
json ×1
moya ×1
numbers ×1
objective-c ×1
opacity ×1
realm ×1
sprite-kit ×1
string ×1
xcode9-beta ×1