小编Ner*_*tor的帖子

类型不符合Alamofire协议'URLRequestConvertible'

这是代码:

enum Router: URLRequestConvertible {
    //Error: Type 'Five100px.Router' does not conform to protocol 'URLRequestConvertible'

    static let baseURLString = "https://api.500px.com/v1"
    static let consumerKey = "MY_KEY"

    case PopularPhotos(Int)
    case PhotoInfo(Int, ImageSize)
    case Comments(Int, Int)

    var URLRequest: NSURLRequest {

        let (path, parameters) : (String, [String: AnyObject]) = {

            switch self {

            case .PopularPhotos(let page):
                let params = ["consumer_key": Router.consumerKey, "page": "\(page)", "feature": "popular", "rpp": "50", "include_store": "store_download", "include_status": "votes"]
                return ("/phtos", params)

            case .PhotoInfo(let photoID, let ImageSize):
                var params = ["consumer_key": Router.consumerKey, "image_size": …
Run Code Online (Sandbox Code Playgroud)

ios swift alamofire

6
推荐指数
1
解决办法
4760
查看次数

swift (MapKit) 上的自定义标记图像

我在 MapKit 上使用自定义标记

如何更改自定义标记上的图像宽度和高度?

我的代码:

func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {

    if (annotation is MKUserLocation) {
        return nil
    }

    let reuseId = "test"

    var anView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId)
    if anView == nil {

        anView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
        anView.image = UIImage(named:"x2.png")
        anView.canShowCallout = true
    }
    else {
        anView.annotation = annotation
    }
    return anView
}
Run Code Online (Sandbox Code Playgroud)

mapkit ios swift

4
推荐指数
1
解决办法
2652
查看次数

从价值中获取枚举

enum在Swift中有一个问题.我宣布我的枚举是这样的:

enum FirstEnum : CustomStringConvertible {
    case VALUE1
    case VALUE2
    case VALUE3

    var description: String {
        switch self {
            case .VALUE1:
                return "First value"
            case .VALUE2:
                return "Second value"
            case .VALUE3:
                return "Third value"
        }
    }

    func getFromCode(value:String) -> FirstEnum? {
        switch value {
            case "v1":
                return FirstEnum.VALUE1
            case "v2":
                return FirstEnum.VALUE2
            case "v3" :
                return FirstEnum.VALUE3
        }
    }
Run Code Online (Sandbox Code Playgroud)

我需要从字符串(如字典)获取枚举,所以我希望这行应该工作:

let foo = FirstEnum.getFromCode("v1") 
Run Code Online (Sandbox Code Playgroud)

但是XCode(7)期望FirstEnum方法的参数getFromCode改为String方法定义中声明的参数,说:

无法将"String"类型的值转换为预期的参数类型"FirstEnum"

为什么这样?......我做错了什么?

enums ios swift

3
推荐指数
1
解决办法
921
查看次数

Google App Engine上的Async POST python请求

我正在研究Google App Engine上的python项目,我正在使用Parse发送推送通知.Eyerything工作正常,但是当我必须通过POST休息请求向Parse服务器发送多个通知到不同的设备时,我注意到了一些延迟.

更清楚:

我有一个包含N个元素的循环,我必须发送推送通知的每个元素,因此我必须向Parse发出POST请求,并且每个连接(当然)需要大约300毫秒才能完成,因此完成起来非常慢整个循环.

我认为应该更好地在异步请求中更改请求但是在搜索文档和Google之后我发现没有明确的示例如何使用urllib2或者urlfetch如何使用Parse Key和Applicaton Id传递标头.

工作(不是异步)代码是

    parse_connection = httplib.HTTPSConnection('api.parse.com', 443)
    parse_connection.connect()
    parse_app_id = parse_settings.APPLICATION_ID
    parse_rest_api_key = parse_settings.REST_API_KEY
    parse_connection.request('POST', '/1/push',
                            json.dumps({
                                "channels": ["blabla"],
                                "data": {
                                    "alert": "A",
                                    "title":"B",
                                    "badge": "Increment",
                                    "category": "C",
                                    "sound": "default",
                                    "additionalInfos": {"X": "Custom dict"}}
                            }),
                            {
                                "X-Parse-Application-Id": parse_app_id,
                                "X-Parse-REST-API-Key": parse_rest_api_key,
                                "Content-Type": "application/json"
                            })
    return json.loads(parse_connection.getresponse().read())
Run Code Online (Sandbox Code Playgroud)

为了使异步我想我应该用urlfetch

    rpc = urlfetch.create_rpc()
    options = json.dumps({"channels": ["blabla"],
                          "data": {
                              "alert": "A",
                              "title": "B",
                              "badge": "Increment",
                              "category": "C",
                              "sound": …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine request

2
推荐指数
1
解决办法
559
查看次数

深层链接 Xamarin iOS

我需要使用 Xamarin iOS 向我的应用程序添加深层链接功能。我的info.plist看起来像这样:

<key>CFBundleURLTypes</key>
<array>
<dict>
  <key>CFBundleURLSchemes</key>
  <array>
    <string>domine.somthing/index.html?UV</string>
  </array>
  <key>CFBundleURLTypes</key>
  <string>com.domine.somthing/index.html?UV</string>  
</dict>
Run Code Online (Sandbox Code Playgroud)

由于 URL 中的“/”字符,我似乎无法正常工作。我应该如何编写CFBundleURLTypesCFBundleURLSchemesURL 值以使其工作?

deep-linking xamarin.ios

2
推荐指数
1
解决办法
1780
查看次数