Как это сделать Parse.com вызов облачного кода?
-
21-12-2019 - |
Вопрос
Примечание:
Вот несколько мыслей от CA at Parse по этому поводу:
https://www.parse.com/questions/ios-when-will-swift-for-parse-be-ready
(обратите внимание, насколько популярен этот вопрос - горячая тема).Надеюсь, это кому-то поможет
Вот вызов облачного кода синтаксического анализа iOS7...
как это сделать в 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
}
Обратите внимание, я заметил, что это целевая страница Google для попытки выяснить, "как, черт возьми, выполнять вызовы облачного кода" (не связанные с Swift).Вот полный, завершенный набор пример кода как для iOS, так и для Android пользовательские функции облачного кода, во Вселенной parse.com https://stackoverflow.com/a/24010828/294884 Надеюсь, это кому-то поможет
Решение
Добавьте файл Objective-C .m в свой проект.Xcode спросит о создании файла заголовка Bridge.Скажи "да".
Удалите файл .m.В заголовочном файле bridge добавьте свою инструкцию import:
#import <Parse/Parse.h>
Еще один ответ, у которого пошаговое руководство намного лучше, чем у меня: https://stackoverflow.com/a/24005242/353988
Теперь вы можете вызвать собственный код синтаксического анализа в Swift, т.е.:
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")
})
}
}
Другие советы
Невозможно вызвать именно эту функцию (Функция вызова в фоновом режиме) потому что это функция obj-C.
Пожалуйста, обратитесь к этот вопрос как вызывать функции obj-c.
Со временем Parse также внедрит быструю реализацию.