code snippet - blky/IOS-Swift GitHub Wiki
so far on parse
// ControlViewController.swift
// parseOperation
//
// Created by Cindy Zheng on 10/23/14.
// Copyright (c) 2014 Cindy Z. All rights reserved.
//
import UIKit
class ControlViewController: UIViewController {
//var allEvents = [EventParse]()
@IBAction func logout(sender: AnyObject) {
PFUser.logOut()
var currentUser = PFUser.currentUser() // this will now be nil
}
@IBAction func rsvpEvent(sender: AnyObject) {
// B4j82pK2mb
var user = PFUser.currentUser()
var relation = user.relationForKey("rsvped")
var events = parseEvent.query() as PFQuery
events.getObjectInBackgroundWithId("B4j82pK2mb", block: { (obj:PFObject!, error:NSError!) -> Void in
relation.addObject(obj)
user.saveEventually()
})
}
@IBAction func listrsvp(sender: AnyObject) {
var user = PFUser.currentUser()
var relation = user.relationForKey("rsvped")
relation.query().findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error != nil {
// There was an error
} else {
for each in objects {
var rsvpe = each as parseEvent
println("\(PFUser.currentUser().username) rsvped event(s) : \(rsvpe.EventName!)")
}
}
}
}
@IBAction func ibeaconList(sender: AnyObject) {
var ib = iBeacon.query() as PFQuery
ib.findObjectsInBackgroundWithBlock { (objects: [AnyObject]!, error: NSError!) -> Void in
for obj in objects {
var ibeacon = obj as iBeacon
println("ibeacon is \(ibeacon.UUID)")
}
}
}
@IBAction func listUsers(sender: AnyObject) {
loginToParse()
}
@IBAction func listEvents(sender: AnyObject) {
var events = parseEvent.query() as PFQuery
events.findObjectsInBackgroundWithBlock { (objects: [AnyObject]!, error: NSError!) -> Void in
for obj in objects {
var event = obj as parseEvent
println("event name \(event.EventName!), city: \(event.cityName!), max rsvp count:\(event.rsvpMax!)")
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
self.title = "parse operation"
}
func loginToParse(){
PFUser.logInWithUsernameInBackground("cindy", password:"password") {
(user: PFUser!, error: NSError!) -> Void in
if error == nil {
println("user login")
println("current user is \(PFUser.currentUser().username)")
} else {
println("login error")
}
}
}
}
tableview multiple rows
for section in 1..<tableView.dataSource?.numberOfSectionsInTableView(tableView){
for row in tableView.dataSource?.tableView(tableView, numberOfRowsInSection: section){
var index:NSIndexPath=NSIndexPath(forRow: row, inSection: section)
}
}
variable declaration
静态变量 全大写,以"_"分开各单词
类公共变量 全小写,无前缀
类私有变量 以单下划线开头+类型前缀
类局部变量 以双下划线开头+类型前缀
dismiss keyboard
{
[[[UIApplication sharedApplication] keyWindow]endEditing:YES];
}
iOS针对定位提出了新的要求,在这之前,只要有请求地理位置数据的操作,iOS将会弹出一个框要求用户接受或者拒绝请求,但是iOS 8默认是没有的,所以需要自行添加。
1、在info.plist中添加下面两个key,布尔类型,值为true:
NSLocationWhenInUseUsageDescription NSLocationAlwaysUsageDescription
2、在[manager startUpdatingLocation];前添加代码:
[manager requestAlwaysAuthorization];