gpt4 book ai didi

ios - 使用 Swift 3 调用 Objective-C 方法

转载 作者:行者123 更新时间:2023-11-28 12:38:21 26 4
gpt4 key购买 nike

我要疯了。

根据 StackOverflow 和其他网站上的一些答案,我正在尝试在 Swift 中调用 Objective-c 方法。但是我在初始化方法时遇到了一些错误...

#error : Cannot convert value of type '()' to specified type 'getEvents'

是因为 Swift 3 吗?我在这里做错了什么?

这是我的完整代码:

getEvents.h

#import <Foundation/Foundation.h>

@interface getEvents : NSString

+(NSString *) objGetEvents:(NSString *)latitude andLon:(NSString *)longitude andRadius:(NSString *)radius andMeasure:(NSString *)measure;

@end

getEvents.m

#import "getEvents.h"

@implementation getEvents

+(NSString *) objGetEvents:(NSString *)latitude andLon:(NSString *)longitude andRadius:(NSString *)radius andMeasure:(NSString *)measure {

NSString *link = [[NSString alloc] initWithFormat: @"http://some.website/file.php?lat=%@&lon=%@&ms=%@&dist=%@", latitude, longitude, measure, radius];

NSData *myData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:[link stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]]]];

return [[NSString alloc] initWithData:myData encoding:NSUTF8StringEncoding];

}

@end

ListEvents.swift

func getEvents() {
let getEventsObj:getEvents = getEvents()
// error: Cannot convert value of type '()' to specified type 'getEvents'

let jsonString = getEventsObj.objGetEvents(latitude, andLon: longitude, andRadius: searchRadius, andMeasure: searchMeasure) as NSString
// error: Static member 'objGetEvents' cannot be used on instance of type 'getEvents'

print(jsonString)
}

附言。我在 Extension-Bridging-Header.h 中导入“getEvents.h”


我正在尝试使用 Objective-C NSData 因为 NSData on Swift 并获取我在这个问题中指定的 URL 的内容: https://stackoverflow.com/questions/40194517/nsdatacontentsof-options-works-on-the-simulator-but-not-on-the-device

最佳答案

您已经声明了一个函数,不需要创建一个实例。

你的代码应该是这样的:

 func getEvents() {
let jsonString = getEvents.objGetEvents(latitude, andLon: longitude, andRadius: searchRadius, andMeasure: searchMeasure) as NSString

print(jsonString)
}

关于ios - 使用 Swift 3 调用 Objective-C 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40242477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com