iOS swift学习笔记
demo中也包含了本地化管理的使用,以及swift掉用oc方法的示例,包括自己对AFNetWorking的封装!
下载地址:https://github.com/pengjinguang521/2.3swift.git
OC与swift的混编
1.项目上右键,New File选择Header File,选择文件目录,然后确定。
2.点击项目-->TARGETS-->Build Settings中找到Swift Compiler,里面有一项:Objective-C Bridging Header,双击右面空白处会弹出输入框,将刚才创建的Header文件拖到输入框中。
3.在Header中输入需要引用的<.h>文件,就可以引用OC的代码了。
闭包的使用
/** 声明闭包对象 */
var getValueBlock: ((String,String,String) -> ())?
/** 掉用闭包方法 */
getValueBlock!((nametf?.text)!,(pswtf?.text)!,(phonetf?.text)!)
/**
* 闭包的实现
*/
loginView.getValueBlock = {(name:String,password:String,phone:String) in
DDLog("姓名:\(name)密码:\(password)手机号:\(phone)")
})
网络请求的使用
NetWorkSessionManger.GET(HTTPRequestHead+"userSearch", params: nil , progress: nil, successBlock: { (json) in
let userArray = (json.objectForKey("data")) as! NSArray
let userMutArray = NSMutableArray()
for dict in userArray {
let model = UserModel.init()
model.username = dict["username"] as? String
model.password = dict["password"] as? String
model.telephone = dict["telephone"] as? String
userMutArray.addObject(model)
}
DDLog("\(userMutArray)")
}, failBlock: { (error) in
}, end: {
})
宏定义的使用
/** debug下的打印 notice 需要在bulidSettings中设置 Debug */func DDLog(message:D,fileName:String = #file,methodName:String = #function,lineNumber:Int = #line){
#if DEBUG
print("\(fileName as NSString)\n方法:\(methodName)\n行号:\(lineNumber)\n打印信息\(message)");
#endif
}
/** 屏幕宽度 */
let ScreenWidth = UIScreen.mainScreen().bounds.size.width
/** 屏幕高度 */
let ScreenHeight = UIScreen.mainScreen().bounds.size.height
/** 屏幕宽度适配,高度适配采用scrollerView */
func MyWidth(width:CGFloat) -> CGFloat {
return width * ScreenWidth/375.0;
}