Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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 如何将NSArray转换为特定字符串?_Ios_Swift_Nsstring_Nsarray - Fatal编程技术网

Ios 如何将NSArray转换为特定字符串?

Ios 如何将NSArray转换为特定字符串?,ios,swift,nsstring,nsarray,Ios,Swift,Nsstring,Nsarray,我正在使用facebookapi获取用户的朋友。代码如下: let params = ["fields": "id"] let request = FBSDKGraphRequest(graphPath: "me/friends", parameters: params) request.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSE

我正在使用
facebookapi
获取用户的朋友。代码如下:

let params = ["fields": "id"]
let request = FBSDKGraphRequest(graphPath: "me/friends", parameters: params)
request.startWithCompletionHandler { (connection : FBSDKGraphRequestConnection!, result : AnyObject!, error : NSError!) -> Void in

    if error != nil {
        let errorMessage = error.localizedDescription
        print(errorMessage)
        /* Handle error */
    }
    else if result.isKindOfClass(NSDictionary){
        /*  handle response */
        let defaults =  NSUserDefaults.standardUserDefaults()


        let resultdict = result as! NSDictionary

        let data : NSArray = resultdict.objectForKey("data") as! NSArray

        for i in 0..<data.count {
            let valueDict : NSDictionary = data[i] as! NSDictionary
            let id = valueDict.objectForKey("id") as! String
            print("the id value is \(id)")
        }

        let friends = resultdict.objectForKey("data") as! NSArray
        print("Found \(friends.count) friends")
        print(friends)

        defaults.setObject(friends, forKey: "fb_friends")
        defaults.synchronize()
    }
}
上面的
打印
打印(适用于1个fb朋友):

( { id=1020XXXXXX305XXX; } )

我想将其传递到我的服务器,因此我考虑执行以下操作:

var emptyParams = ["":""]
emptyParams["friends"] = (defaults.objectForKey("fb_friends") as! NSArray).componentsJoinedByString(",")
但是,与params不同的是:

friends: 1020XXXXXX305XXX
我有:

"friends": {
    id = 10206503694305180;
}
我想跳过
id
并将其作为数组发送,因为在我的服务器上我有:

var friends = req.body.friends;
for(var i=0; i<friends.length; i++) {
    console.log(friends[i]);
        query = query.or([{ 'fb_friend': friends[i] }]);
}
var-friends=req.body.friends;

对于(var i=0;i根据我对您代码的理解,
fb_friends
的类型为
[[String:String]]
,您希望将其转换为
[String]

您可以使用
.map
从字典中获取
“id”

let friends = (defaults.objectForKey("fb_friends") as! NSArray)
    .map{$0["id"]!}
    .joinWithSeparator(",")
let params = [
  "friends": friends
]

请给出ResultDisct值。因为我在这里对id值和格式等感到困惑。@Sharpkits我添加了必要的编辑,很抱歉一开始就缺少这些信息!谢谢,但现在它突出显示了
映射
,并告诉我,`type(String?)的值没有加入任何成员…:(我目前正在使用Swift 2.2…
joinWithSeparator(…
工作得很好,谢谢Bryan!)!
let friends = (defaults.objectForKey("fb_friends") as! NSArray)
    .map{$0["id"]!}
    .joinWithSeparator(",")
let params = [
  "friends": friends
]