我是新手,Swift我正在制作一个简单的计算器,我不想检测按下的按钮,我的代码在下面.
@IBAction func ButtonTapped(TheButton : UIButton){
println(TheButton.titleLabel.text)
}
Run Code Online (Sandbox Code Playgroud)
但它显示我的错误 "UILabel? Does not have a member a named text"
它告诉我修改这样的代码
println(TheButton.titleLabel?.text)
Run Code Online (Sandbox Code Playgroud)
这个Prints Optional("1")(1是我的按钮名称)
所以任何人都可以帮助我为什么会发生这种情况,如何在没有可选项的情况下打印我的按钮名称?
字典键需要Hashable符合:
class Test {}
var dictionary = [Test: String]() // Type 'Test' dies not conform to protocol 'Hashable'
class Test: NSObject {}
var dictionary = [Test: String]() // Works
Run Code Online (Sandbox Code Playgroud)
如何获取纯Swift类实例的地址hashValue?
我正在学习Swift,我可以理解如何创建一个接收数组并返回数组的简单函数.继承我的代码:
func myArrayFunc(inputArray:Array) -> Array{
var newArray = inputArray
// do stuff with newArray
return newArray
}
Run Code Online (Sandbox Code Playgroud)
我得到的红色错误是:对泛型类型'Array'的引用需要<>中的参数
在我的Swift代码中:
override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
let stringIdent = String(format: "section_1_%d", section)
return NSLocalizedString(stringIdent, comment: nil)
}
Run Code Online (Sandbox Code Playgroud)
运行构建时出现错误:
类型'string'不符合协议NilLiteralConvertible
此代码始终在Objective-C中有效.
Swift可能有什么问题?
尝试使用:
obj.isKindOfClass(String)
Run Code Online (Sandbox Code Playgroud)
但它说类型'字符串'不符合协议'AnyObject'
那你怎么知道一个对象是不是一个字符串呢?
这个问题的上下文是UIActivity方法,prepareWithActivityItems,我需要在其中保存活动项,但如果有多个活动项,你怎么知道哪个是哪个?
我正在用UIButton钢琴键创建类似钢琴的视图.UIControlEvents当按钮获取并失去突出显示状态时,我应该听什么才能获得回调?
我试图创建子类UIButton并添加属性观察器highlighted,它工作正常.但是有时候我需要从代码中手动设置突出显示的状态,因为没有办法判断事件是用户还是应用程序启动,所以真的搞砸了.
我有一个对我所有控制器都通用的功能:
func myColor() -> UIColor {
return UIColor(red: 9.0/255.0, green: 134.0/255.0, blue: 255.0/255.0, alpha: 1)
}
Run Code Online (Sandbox Code Playgroud)
我在哪里可以放这个功能,所以我可以从任何控制器访问它?
var dict = ["alpha": ["a", "b", "c", "d"]]
// output : ["alpha": ["a", "b", "c", "d"]]
var alphaList = dict["alpha"]
// output : {["a", "b", "c", "d"]
alphaList?.removeAtIndex(1)
// output : {Some "b"}
alphaList
// output : {["a", "c", "d"]}
dict
// output : ["alpha": ["a", "b", "c", "d"]]
Run Code Online (Sandbox Code Playgroud)
为什么'dict'没有改变?是因为'alphaList'是数组的副本而不是字典中的实际数组?任何人都可以指出我在Swift语言文档中哪里可以找到这些信息?
操纵字典值(复杂类型)的正确/功能方法是什么?
据我所知,TDD和BDD周期类似于:
问题是在你有任何代码之前如何编写测试?我应该创建某种类骨架或接口吗?或者我误解了什么?
我想问一下NSDate,如何设置/格式化当前时间,如“2015-08-12 09:30:41 +0000”到“2015-08-12 00:00:00 +0000”
我已经在使用:
var dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = .MediumStyle
dateFormatter.timeStyle = .NoStyle
//result date will be : Aug 12, 2015
Run Code Online (Sandbox Code Playgroud)
但起息日期并未完全按照“2015-08-12 00:00:00 +0000”存储在数据库中,而是存储为“2015-08-11 17:00:00 +0000 UTC”
我有 FTS 表和查询,它匹配列包含“all”和“in”的所有行。
try db.executeQuery("SELECT * FROM table WHERE column MATCH '\"all\" AND \"in\"'", values: nil)
Run Code Online (Sandbox Code Playgroud)
如何使用参数绑定使其工作?所以我可以提供:
values: ["all", "in"]
Run Code Online (Sandbox Code Playgroud) 我有一个疑问,如何将纯c函数的返回值快速获取。
这是我的代码:
在 ViewController.swift// swift 文件中
var name = getPersonName()
Run Code Online (Sandbox Code Playgroud)
在personList.h// C 头文件中
char getPersonName();
Run Code Online (Sandbox Code Playgroud)
在personList.c// 纯 C 文件中
#include personList.h
char getPersonName() {
char* name = "Hello, Swift";
return name;
}
Run Code Online (Sandbox Code Playgroud)
在这里,我已经使用MyProjectName-Bridging-Header.h.
谢谢