11月 11

tableview cell加载数据

class choiceView:UIViewController,UITableViewDataSource,UITableViewDelegate{
@IBOutlet weak var userTableView: UITableView!
var refreshControl = UIRefreshControl()
var dataArray:[JSON]=[]

override func viewDidLoad() {
super.viewDidLoad()
self.automaticallyAdjustsScrollViewInsets = false
userTableView.delegate=self
userTableView.dataSource=self
refreshControl.addTarget(self, action: “refreshData”, forControlEvents: UIControlEvents.ValueChanged)
refreshControl.attributedTitle = NSAttributedString(string: “松手刷新新闻”)
userTableView.addSubview(refreshControl)
refreshData()
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

// 刷新数据
func refreshData() {
netManage.request(.GET,url+”/v1/userstocknew”)
.responseJSON{ get in
let get_data=JSON(get.result.value!)[“stockList”]
self.dataArray=get_data.array!
self.userTableView.reloadData()
self.refreshControl.endRefreshing()
}
}

// UITableViewDataSource
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dataArray.count;
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let ut=UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: “cell”)
let stockData=JSON(self.dataArray)
ut.textLabel?.text=stockData[indexPath.row][“name”].stringValue
let one_data=stockData[indexPath.row][“price”].stringValue+” “+stockData[indexPath.row][“floper”].stringValue
ut.detailTextLabel?.text=one_data
return ut
}

}

11月 06

swift 2 网络登录成功后 状态保持

网络部分使用Alamofire。
登录成功后将登录状态保存在NSUserDefaults中。网络部分,如session等信息均由Alamofire处理保存。
处理流程如下:
1)首先建立一个plist文件。key为login,布尔型,默认值为False
loginstatus

2)定义保存状态的变量
//全局网络保持配置。初始化参数为False
var netDefault=NSUserDefaults.standardUserDefaults()

3)登录如果登录成功,则记录登录状态
netDefault.setBool(true, forKey: “login”)

4)退出app,再次加载后先判断,如果已经登录,则跳转到默认页,如果没有登录则条转到登录页。
此处判断要在故事版加载完成后再进行判断。“toDfaultPage”为Storyboard Segue中identified的跳转值。
//故事版加载后处理
override func viewDidAppear(animated: Bool) {
self.mvHomeView()
}

func mvHomeView() {
if netDefault.objectForKey(“login”)?.boolValue == true{
self.performSegueWithIdentifier(“toDefaultPage”, sender: self)
}
}

10月 20

swift2 弹出窗口

xcode7 弹出提醒等简单窗口
最简单方法
UIAlertView(title: “提醒”, message:”登陆失败,请确认账号和密码信息”, delegate: nil, cancelButtonTitle: “确定”).show()

如弹出窗口还有其他操作。

func showAlert(){
        let alertController = UIAlertController(title: "系统提示",
            message: "账号错误", preferredStyle: UIAlertControllerStyle.Alert)
        let tryAction = UIAlertAction(title: "继续重试", style: UIAlertActionStyle.Cancel, handler: nil)
        let exitAction = UIAlertAction(title: "退出", style: UIAlertActionStyle.Default,
            handler: {
                ACTION in exit(0)
        })
        alertController.addAction(tryAction)
        alertController.addAction(exitAction)
        self.presentViewController(alertController, animated: true, completion: nil)
}