我的应用程序当前正在使用AWS API Gateway和Alamofire来访问充当我后端的不同lambda函数.
我需要将一个数组作为参数之一发送到其中一个API端点,因为我使用以下代码:
var interests : [String]
interests = globalInterests.map({ (interest) -> String in
return interest.id!
})
// Parameters needed by the API
let parameters: [String: AnyObject] = [
"name" : name,
"lastName" : lastName,
"interests" : interests
]
// Sends POST request to the AWS API
Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON).responseJSON { response in
// Process Response
switch response.result {
case .Success:
print("Sucess")
case .Failure(let error):
print(error)
}
}
Run Code Online (Sandbox Code Playgroud)
但这是行不通的,因为API没有识别数组,但是如果我创建了一个"静态"数组
let interests = ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)
一切都按照预期运作. …
我在iOS应用程序中遇到一些性能问题,同时将2013-12-19 00:00:00.000000格式化的日期转换为中等样式日期(Dec 25, 2014)和双倍值(epoch).根据Xcode分析器,执行此过程的两个函数(下图)占用了大约60%的执行时间
我想知道如何改进此代码,或者是否有更有效的方法来获得我需要的东西.
static func getMediumDate(dateString: String) -> (NSString)? {
// Get the: yyyy-MM-dd
let shorDate = dateString[dateString.startIndex..<dateString.startIndex.advancedBy(10)]
let dateFormatter = NSDateFormatter()
dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
dateFormatter.dateFormat = "yyyy-MM-dd"
let stringFormatter = NSDateFormatter()
stringFormatter.locale = NSLocale(localeIdentifier: "en_US")
stringFormatter.dateFormat = "yyyy-MM-dd"
stringFormatter.dateStyle = .MediumStyle
let newDate = dateFormatter.dateFromString(shorDate)
if (newDate != nil){
return stringFormatter.stringFromDate(newDate!)
}else{
return nil
}
}
static func getSortDate(dateString:String) -> Double{
// Get the: yyyy-MM-dd
let shorDate = dateString[dateString.startIndex..<dateString.startIndex.advancedBy(10)]
let dateFormatter = …Run Code Online (Sandbox Code Playgroud) 当我在“Windows Server 2016 Datacenter”计算机上使用 Tomcat 9 运行 Springboot 2.3.8 应用程序时,我遇到时区问题。使用 Eclipse 或 Tomcat 9 在本地运行它不会触发该问题。
我在开始时使用以下命令设置时区:
@PostConstruct
public void init()
{
TimeZone.setDefault(TimeZone.getTimeZone("Europe/Berlin"));
Calendar now = Calendar.getInstance();
TimeZone timeZone = now.getTimeZone();
System.out.println(timeZone.getDisplayName());
}
Run Code Online (Sandbox Code Playgroud)
打印 ->中欧标准时间
但是,稍后当我调用其中一个端点时,我会像以前一样检查时区
Calendar now = Calendar.getInstance();
TimeZone timeZone = now.getTimeZone();
System.out.println(timeZone.getDisplayName());
Run Code Online (Sandbox Code Playgroud)
我得到 -->协调世界时
我假设时区没有在 @PostConstruct 上真正设置,或者稍后被某些东西覆盖。
我的问题是,什么可以进行更改以及如何修复它以使我的时区始终位于“欧洲/柏林”。
我尝试过如上所述更改应用程序内的时区,在tomcat中使用java参数并更改机器本身的时区,但在所有情况下,更改都会被覆盖,并且在调用和端点时我会得到UTC。
Pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.8.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.test</groupId>
<artifactId>project</artifactId>
<name>project</name>
<version>1.00</version>
<packaging>war</packaging>
<url>http://maven.apache.org</url>
<properties> …Run Code Online (Sandbox Code Playgroud) 我正在使用 Flask 版本 2.3.2 和 FireO ORM 2.1.0
FireO 模型不直接兼容 Flask 的 jsonify。这意味着它们默认情况下不可序列化,需要在将它们传递给 jsonify 之前将其转换为字典。
前任:
users_dicts = [user.to_dict() for user in users]
return jsonify(users_dicts), 200
# or
return jsonify(user.to_dict()), 200
Run Code Online (Sandbox Code Playgroud)
所以我的想法是扩展 FireO 模型或 Flask,这样我就可以这样做:
jsonify(users), 200 # Users is a FireO QueryIterator
jsonify(user), 200 # User is a FireO model
Run Code Online (Sandbox Code Playgroud) 我需要根据按下的按钮来更改 UI 元素,基本上它就像一个选项卡,但只是我的视图控制器的一部分。我需要显示/隐藏的元素是 UIView,其中包含多个集合视图和标签。
我现在正在做的是以 IB 和编程方式定义两个对象,当我需要显示一个对象时,我只需将其中一个对象的宽度设置为 0,并为另一个对象设置一个具有我想要的整个宽度的新框架。这种方法的问题在于,即使 UIView 是我想要的样子,里面的内容似乎仍保留先前的约束(居中),并且它们不会“适应”整个宽度。
当前代码:
var newFrame = self.view.frame
newFrame.origin.x = 0
newFrame.origin.y = self.blueView.frame.origin.y
newFrame.size.height = self.blueView.frame.size.height
if (showGreen){
self.greenView.frame = newFrame
self.greenView.hidden = false
self.blueView.frame.size.width = 0.0
self.blueView.hidden = true
}else{
self.blueView.frame = newFrame
self.blueView.hidden = false
self.greenView.frame.size.width = 0.0
self.greenView.hidden = true
}
Run Code Online (Sandbox Code Playgroud)
在 IB 中,我为两个视图设置了约束,使其与边距之间没有分隔。
我希望您帮助我解决此问题或以其他方式实现所需的行为。
谢谢。
ios ×3
swift ×3
alamofire ×1
constraints ×1
flask ×1
java ×1
jsonify ×1
performance ×1
python ×1
spring-boot ×1
spring-mvc ×1
timezone ×1
uiview ×1