我刚刚在Xcode中创建了一个新的Swift项目.我想知道它正在使用哪个版本的Swift.
如何在Xcode或终端中看到我在项目中使用的Swift版本?
我正在运行Xcode 4.3.1 iOS-Simulator,它最初只支持iOS 5.1.
我需要使用iOS 4.3测试我的代码,所以我使用Xcode的"安装"功能来安装它,如"使用iOS 4.3设备模拟器安装Xcode?"中所述.
现在我已完成测试但无法找到卸载4.3部分的方法("iPhone 4.3模拟器"和"iPad 4.3模拟器").我想减少Scheme菜单中的混乱.
Apple的Xcode listserv上没有人知道答案!
编辑:请注意,自Xcode 4.3以来已经发生了很多变化,所以建议所有人阅读这些内容来了解所有答案.史蒂夫·莫泽(Steve Moser)这样的最新产品对您来说可能更有用!
编辑10/2017:由Julio Carrettoni在Twitter上发布
如果您是iOS开发人员,请执行以下操作:
$ xcrun simctl delete unavailable
删除Xcode不再使用的旧模拟器.对我来说这是6Gb我自己没试过......
[另外,我刚才看到Russ Bishop在下面的评论中提到了这个...]
我想在UITextField的开头留一点空间,就像这里一样: 向UITextField添加左边距
但我不知道如何用Swift做到这一点.
我正在尝试将我的项目源代码从Swift 3转换为Swift 4.一个警告Xcode给我的是我的选择器.
例如,我使用常规选择器将按钮添加到按钮,如下所示:
button.addTarget(self, action: #selector(self.myAction), for: .touchUpInside)
Run Code Online (Sandbox Code Playgroud)
这是它显示的警告:
'#selector'的参数是指'ViewController'中的实例方法'myAction()',它取决于Swift 4中不推荐使用的'@objc'属性推断
添加'@objc'以将此实例方法公开给Objective-C
现在,点击Fix
错误消息对我的函数执行此操作:
// before
func myAction() { /* ... */ }
// after
@objc func myAction() { /* ... */ }
Run Code Online (Sandbox Code Playgroud)
我真的不想重命名我的所有函数来包含@objc
标记,我假设没有必要.
如何重写选择器来处理弃用?
相关问题:
如何UILabel
在Xcode 6中使用Swift以编程方式创建?
我已经开始在Xcode 6中使用新的"单视图应用程序",并为此项目选择了Swift.我有我的文件AppDelegate.swift
,ViewController.swift
我不知道该怎么做.
我想淡入带有UIBlurEffect的UIVisualEffectsView:
var blurEffectView = UIVisualEffectView()
blurEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .dark))
Run Code Online (Sandbox Code Playgroud)
我在a调用的函数中使用普通动画UIButton
来淡入它,同样用于淡出,但是.alpha = 0
&hidden = true
:
blurEffectView.hidden = false
UIView.animate(withDuration: 1, delay: 0, options: .curveEaseOut) {
self.blurEffectView.alpha = 1
}
Run Code Online (Sandbox Code Playgroud)
现在,在两个方向上褪色的工作,但衰落时,它给我一个错误了:
<UIVisualEffectView 0x7fdf5bcb6e80>
被要求动画其不透明度.这将导致效果出现断裂,直到不透明度返回到1.
题
如何成功地淡入淡出UIVisualEffectView
而不会破坏它并且有一个渐弱的过渡?
注意
UIVisualEffectView
变成一个UIView
并且淡化那个,没有成功无论如何使用Interface Builder更改UILabel文本上的字符间距(轨道)?如果没有,有没有办法在已经使用属性文本创建的现有UILabel上以编程方式执行此操作?
我在SO上找到了这个字符串扩展,允许我将html代码转换为属性字符串:
func html2AttributedString() -> NSAttributedString {
return try! NSAttributedString(data: self.data(using: String.Encoding.unicode, allowLossyConversion: true)!, options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType], documentAttributes: nil)
}
Run Code Online (Sandbox Code Playgroud)
它在Swift 3中运行良好,但是对于Swift 4,Xcode抱怨:
无法将'NSAttributedString.DocumentAttributeKey'类型的值转换为预期的字典键类型'NSAttributedString.DocumentReadingOptionKey'
我该如何解决?
你能帮助我将以下代码翻译成Swift吗?
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.apple.com/de/app/x-gift/id839686104?mt=8&uo=4"]];
Run Code Online (Sandbox Code Playgroud)
(或者我必须使用此链接:itms://itunes.apple.com/app/id839686104?)
提前致谢!
我尝试将JSON字符串转换为JSON对象,但JSONSerialization
输出后是nil
JSON.
响应字符串:
[{\"form_id\":3465,\"canonical_name\":\"df_SAWERQ\",\"form_name\":\"Activity 4 with Images\",\"form_desc\":null}]
Run Code Online (Sandbox Code Playgroud)
我尝试使用下面的代码转换此字符串:
let jsonString = response.result.value
let data: Data? = jsonString?.data(using: .utf8)
let json = (try? JSONSerialization.jsonObject(with: data, options: [])) as? [String:AnyObject]
print(json ?? "Empty Data")
Run Code Online (Sandbox Code Playgroud) swift ×9
ios ×7
xcode ×3
swift4 ×2
app-store ×1
cocoa-touch ×1
fade ×1
terminal ×1
uiblureffect ×1
uilabel ×1
uitextfield ×1