我需要在 Objective-C
中编写这两个 Swift
函数,然后在 Swift
中调用返回值我该怎么做这个?
此外,我需要将它们放在我的 AppDelegate
中的什么地方?
抱歉,这可能真的很简单,但我没有使用 Objective-C
的经验。
提前致谢!
要转换的函数:
class func getAppDelegate() -> AppDelegate {
return UIApplication.shared.delegate as! AppDelegate
}
func getDocDir() -> String {
return NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
}
AppDelegate.m:
#import "AppDelegate.h"
#import "MainViewController.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication*)application
didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
}
@end
AppDelegate.h:
#import <Cordova/CDVViewController.h>
#import <Cordova/CDVAppDelegate.h>
@interface AppDelegate : CDVAppDelegate {}
@end
最佳答案
这是您使用 objective-c 编写的 AppDelegate 类,包括您的 Swift 方法。但我们需要了解更多细节才能提供帮助。
AppDelegate.h
#import <Cordova/CDVViewController.h>
#import <Cordova/CDVAppDelegate.h>
@interface AppDelegate : CDVAppDelegate {}
+ (id)getAppDelegate;
- (NSString*)getDocDir;
@end
AppDelegate.m
#import "AppDelegate.h"
#import "MainViewController.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication*)application
didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
return YES;
}
+ (id)getAppDelegate {
return self;
}
- (NSString*)getDocDir {
return NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
}
@end
关于ios - 将 Swift 函数转换为 Objective C 并在 swift 中使用返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51189255/