这是代码:
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) 我在 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) 我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"
为什么这样?......我做错了什么?
我正在研究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) 我需要使用 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 中的“/”字符,我似乎无法正常工作。我应该如何编写CFBundleURLTypes和CFBundleURLSchemesURL 值以使其工作?
ios ×3
swift ×3
alamofire ×1
deep-linking ×1
enums ×1
mapkit ×1
python ×1
request ×1
xamarin.ios ×1