func UIColorFromRGB (hex:String) -> UIColor {
var cString:String = hex.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()).uppercaseString
if (cString.hasPrefix("#")) {
cString = (cString as NSString).substringFromIndex(1)
}
let rString = (cString as NSString).substringToIndex(2)
let gString = ((cString as NSString).substringFromIndex(2) as NSString).substringToIndex(2)
let bString = ((cString as NSString).substringFromIndex(4) as NSString).substringToIndex(2)
var r:CUnsignedInt = 0, g:CUnsignedInt = 0, b:CUnsignedInt = 0;
NSScanner(string: rString).scanHexInt(&r)
NSScanner(string: gString).scanHexInt(&g)
NSScanner(string: bString).scanHexInt(&b)
return UIColor(red: CGFloat(r) / 255.0, green: CGFloat(g) / 255.0, blue: CGFloat(b) / 255.0, alpha: CGFloat(1))
}
eg:
self.setTitleColor(UIColorFromRGB("0xec8c00"), forState: .Selected)
你想做的app是一个很标准的模式,我们也在考虑使用这样的模式准备一些课程。我猛地思考,需要准备的知识点是:
1)做app会swift语言不够,需要学会Cocoa Touch的基本内容,如:ViewController,View之间的转换和数据传输等等,当然还有列表页和单页的页面布局等内容;
2)对于列表页,可能对于UITableView的使用要特别学习一下,包括自定义列表单元格等内容;
3)处理JSON文件本身有很成型的库,不需要自己写,可以搜一下iOS解析SBJSON数据,学习使用它
4)如果要兼容ipad,可能要考虑是否要使用Master-Detail的架构?如果是的话,针对UISplitView还需要进行学习;
5)当然,很多细节就是额外的,比如是不是要一些简单的动画效果?是不是要自定义一些按钮?对手势控制有没有要求?等等等等
希望可以帮助你。
是的。变长的。
我个人认为,语言发展的趋势就是将越来越多的诸如内存管理的这类问题——他们和逻辑本身无关——留给编译器处理,而让开发者更多的将精力集中在编写逻辑上。脚本语言在设计时这一点尤为明显,所以我们会看到一些语言特性:比如自动垃圾回收机制;比如众多脚本语言选择了弱类型语言的方式,即不需要制定变量类型;比如python开发不需要管整型到底是32位还是64位甚至是更多的位数;比如我们连分号都不需要在意了。。。
当然,这样会造成一些问题,但是总体上,对于更多群体来说:优大于劣,尤其是在语言的推广层面上。
swift是一个在脚本语言和编译型语言之间的语言。个人意见,仅供参考。