實用知識:第三方儲存(LeanCloud)

#import "ViewController.h"
#import <AVOSCloud/AVOSCloud.h>
#import "ShoppingCarTableDefine.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    // CRUD 增刪改查

    // 購物車, 用戶名, 商品, 價錢, 數量,
    // 鐵手, 帥哥

//    [self createMessage];
}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//    [self queryMessage];
//    [self updateMessage];
    [self deleteMessage];
}

// 增加數據
- (void)createMessage
{
    // AVObject 代表一條數據
    // ClassName 是指 表格 的名字
    // 如果名字對應的表不存在, 會自動創建對應表
    AVObject *obj = [AVObject objectWithClassName:ShoppingCar];
    // 配置參數
    [obj setObject:@"帥哥" forKey:Username];
    [obj setObject:@"女朋友" forKey:Goods];
    [obj setObject:@"8888" forKey:Price];
    [obj setObject:@"2" forKeyedSubscript:Count];

    // 保存數據到後臺服務器
    [obj saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
        if (succeeded) {
            NSLog(@"保存成功");
        }
    }];
}

// 查找數據
- (void)queryMessage
{
    // AVQuery 數據查找
    // ClassName: 指定要查找的表
    AVQuery *query = [AVQuery queryWithClassName:ShoppingCar];

    // 指定查找Username屬性的值爲 帥哥
    [query whereKey:Username containsString:@"帥哥"];

    // 向服務器查找數據
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        for (AVObject *obj in objects) {
            // 每一個AVObject對象都是查找到的匹配結果
            NSLog(@"%@", obj);
        }
    }];
}

// 修改數據
- (void)updateMessage
{
    AVQuery *query = [AVQuery queryWithClassName:ShoppingCar];

    [query whereKey:Goods containsString:@"女朋友"];

    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        for (AVObject *obj in objects) {
            // 修改參數
            [obj setObject:@"3" forKey:Count];

            // 保存到服務器
            [obj saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
                NSLog(@"%@", succeeded ? @"成功" : @"失敗");
            }];
        }
    }];
}

- (void)deleteMessage
{
    AVQuery *query = [AVQuery queryWithClassName:ShoppingCar];

    [query whereKey:Goods containsString:@"女朋友"];

    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        for (AVObject *obj in objects) {

            // 刪除指定的數據 AVObject
            [obj deleteInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
                NSLog(@"%@", succeeded ? @"成功" : @"失敗");
            }];
        }
    }];
}

@end
發佈了631 篇原創文章 · 獲贊 10 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章