Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将Objective-C代码翻译成Swift_Ios_Objective C_Swift - Fatal编程技术网

Ios 如何将Objective-C代码翻译成Swift

Ios 如何将Objective-C代码翻译成Swift,ios,objective-c,swift,Ios,Objective C,Swift,我是Swift新手,我正在尝试将这行代码从Objective-C转换为Swift。这是objective-c代码: 首先,条款和地点的目标C代码如下: NSString *term = [[NSUserDefaults standardUserDefaults] valueForKey:@"term"] ?: defaultTerm; NSString *location = [[NSUserDefaults standardUserDefaults] valueForKey:@"locatio

我是Swift新手,我正在尝试将这行代码从Objective-C转换为Swift。这是objective-c代码:

首先,条款和地点的目标C代码如下:

NSString *term = [[NSUserDefaults standardUserDefaults] valueForKey:@"term"] ?: defaultTerm;
NSString *location = [[NSUserDefaults standardUserDefaults] valueForKey:@"location"] ?: defaultLocation;
我把它翻译成了swift,我不知道如何解释?:默认术语

    var term: AnyObject? = NSUserDefaults.standardUserDefaults().valueForKey("term");
    var location: AnyObject? = NSUserDefaults.standardUserDefaults().valueForKey("location");
    var ApiSample:YPAPISample = YPAPISample();
这是Objective-C中的查询: [APISample queryTopBusinessInfoForTerm:term位置:位置完成处理程序:^NSDictionary*topBusinessJSON,NSError*错误{

当我输入swift代码时,结果是这样的

APISample.queryTopBusinessInfoForTerm(term, location: location) { (topBusinessJSON, error) -> Void in
        code
    }
我试图删除->和void,但它似乎不喜欢它。

这行吗

// cast the results that come back from UserDefaults

var term: String? = NSUserDefaults.standardUserDefaults().valueForKey("term") as? String
var location: String? = NSUserDefaults.standardUserDefaults().valueForKey("location") as? String


APISample.queryTopBusinessInfoForTerm(term, location: location, completionHandler: { (topBusinessJSON: [NSObject: AnyObject]!, error: NSError!) -> Void in
        //code
    })

无法使用类型为“AnyObject?”、位置:AnyObject?、completionHandler:NSDictionary!、NSError!->Void的参数列表调用“queryTopBusinessInfoForTerm”。您传入的参数可能有问题。位置和术语需要什么参数。仅是NSObject吗?能否向我展示方法声明我想看看它需要什么参数。你可能必须从NSUserDefaultsLet我们这里强制转换结果。没有理由删除->Void。如果保留它,你有什么问题吗?那么它应该是:var term:AnyObject?=NSUserDefaults.standardUserDefaults.valueForKeyterm??defaultTerm?是的,它没有问题pileIt不编译提供了大量信息。发布准确的错误消息将更有帮助。