oc混编
-SmartHome-Bridging-Header.h -#import "SmartHome-Swift.h"定义类
class WeatherModel { var address:String="" init(address:String) { self.address=address } }闭包
typealias Complete = (WeatherModel?) -> () func weatherWithProvince(localCity:String,complete:Complete){ // 。。。。 complete(weather) // 。。。。 }延展
extension AppDelegate{ func dosth() { //to do } }懒加载
lazy var btn:UIButton = { let _btn = UIButton(frame: CGRectMake( 0,0,0,0)) _btn.setImage(voiceIconSelected, forState: UIControlState.Normal) _btn.backgroundColor = UIColor.whiteColor() _btn.layer.cornerRadius = 19 _btn.layer.masksToBounds = true _btn.layer.borderWidth = 1.0 _btn.layer.borderColor = mainColor.CGColor return _btn; }() 重写get set方法实现联动效果 var _currentTemp: Int = 18 var currentTemp:Int{ get{ return _currentTemp } set { if(newValue > 14 && newValue < 36){ _currentTemp = newValue self.cm.temp = _currentTemp print("Recived new value", newValue) self.leb.setTitle("\(_currentTemp)°", forState: UIControlState.Normal) self.smallProgress!.progress = CGFloat( _currentTemp - 15 ) / 21.0; } } } 单例 class MyLocationManager{ class func sharedManager()->MyLocationManager{ struct YRSingleton{ static var sharedAccountManagerInstance:MyLocationManager? = nil; static var predicate:dispatch_once_t = 0 } dispatch_once(&YRSingleton.predicate,{ YRSingleton.sharedAccountManagerInstance = MyLocationManager() }) return YRSingleton.sharedAccountManagerInstance! } }转json字符串
func toJSONString(jsonSource: AnyObject) -> String { var data = NSData() do { try data = NSJSONSerialization.dataWithJSONObject(jsonSource, options: NSJSONWritingOptions.PrettyPrinted) } catch let error as NSError { print(error) } let strJson = String(data: data, encoding: NSUTF8StringEncoding) return strJson! }