如何使这个Parse.com云代码调用?

时间:2014-06-03 09:01:46

标签: ios parse-platform swift

注意:

以下是来自Parse的关于此问题的一些想法:

https://www.parse.com/questions/ios-when-will-swift-for-parse-be-ready

(注意这个问题有多受欢迎 - 热门话题)。希望它可以帮助某人


这是一个iOS7 Parse云代码调用...

如何在SWIFT中执行此操作?欢呼声

要清楚...... 你能使用" callFunctionInBackground"在SWIFT 中,还是只需要调用objc类?

-(void)tableView:(UITableView *)tableView
        commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
        forRowAtIndexPath:(NSIndexPath *)indexPath
    {
    int thisRow = indexPath.row;
    PFUser *delFriend = [self.theFriends objectAtIndex:thisRow];

    NSLog(@"you wish to delete .. %@", [delFriend fullName] );

    // note, this cloud call is happily is set and forget
    // there's no return either way. life's like that sometimes

    [PFCloud callFunctionInBackground:@"clientRequestFriendRemove"
            withParameters:@{
                            @"removeThisFriendId":delFriend.objectId
                            }
            block:^(NSString *serverResult, NSError *error)
            {
            if (!error)
                {
                NSLog(@"ok, Return (string) %@", serverResult);
                }
            }];

    [self back];    // that simple
    }

注意,我注意到这是一个谷歌登陆页面,试图找出"如何做云代码调用" (与斯威夫特无关)以下是Parse.com Universe https://stackoverflow.com/a/24010828/294884希望它可以帮助某人

的完整,完整的自定义云代码函数的iOS和Android 示例代码

2 个答案:

答案 0 :(得分:9)

将Objective-C .m文件添加到项目中。 Xcode将询问有关创建Bridge Header文件的信息。说是。

删除.m文件。在桥头文件中,添加import语句:

#import <Parse/Parse.h>

另一个答案,有一个比我更好的演练:https://stackoverflow.com/a/24005242/353988

现在你可以在Swift中调用本机Parse代码,即:

import UIKit
import Foundation

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  var window: UIWindow?

  func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {

    Parse.setApplicationId("appid", clientKey: "clientkey")
    var obj = PFObject(className:"TestObject")
    obj.setObject("bar", forKey: "foo")
    obj.saveInBackgroundWithBlock ({ 
      (succeeded: Bool!, err: NSError!) -> Void in
      NSLog("Hi")
    })

  }

}

答案 1 :(得分:-2)

无法调用此精确函数( callFunctionInBackground ),因为它是一个obj-C函数。

请参阅this question如何调用obj-c函数。

随着时间的推移,Parse也会引入Swift实现。