我目前正在使用以下(笨拙的)代码片段来确定(非空)Swift字典是否包含给定密钥以及从同一字典中获取一个(任何)值.
怎么能把这个更优雅地放在Swift中呢?
// excerpt from method that determines if dict contains key
if let _ = dict[key] {
return true
}
else {
return false
}
// excerpt from method that obtains first value from dict
for (_, value) in dict {
return value
}
Run Code Online (Sandbox Code Playgroud) 我想在Swift中找到第一个带有"单"线表达式EKSource的类型EKSourceType.Local.这是我目前拥有的:
let eventSourceForLocal =
eventStore.sources[eventStore.sources.map({ $0.sourceType })
.indexOf(EKSourceType.Local)!]
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法(例如没有映射和/或通用版本find)?
我正在使用Java 8和Gson的最新RELEASE版本(通过Maven).如果我序列化我得到这样的东西LocalDate
"birthday": {
"year": 1997,
"month": 11,
"day": 25
}
Run Code Online (Sandbox Code Playgroud)
在哪里我会更喜欢"birthday": "1997-11-25".Gson是否也支持更简洁的开箱即用格式,或者我是否必须为LocalDates 实现自定义序列化器?
(我试过了gsonBuilder.setDateFormat(DateFormat.SHORT),但这似乎没有什么区别.)
我想从HTML打印一个大表(大到大约3张纸宽).如果可能,CSS应该足够布局,解决方案应该适用于不同的浏览器.
我目前正在定义以下样式规则:
table { page-break-inside:auto; }
tr { page-break-inside:auto; }
Run Code Online (Sandbox Code Playgroud)
当我检查DOM元素时,例如在Firefox 33.0.2中(在OS X上),我可以看到规则被识别,但是当我查看打印预览(文件 | 打印 | PDF | 打开预览中的PDF)时,所有列都是不适合在第一页被切断,即我收到1页打印输出而不是3.我也尝试了Internet Explorer 11和10相同的效果.
那么如何使用CSS布局大型HTML表格(最终在列数方面都很大)?
奖金的问题:如果分页式的部件确实只适用于在指示块级元素此之前的回答,如果我从我的构建表将帮助它divs,而不是td小号瞄准打印输出时?
UPDATE
这是我刚刚在JSFiddle上尝试过的相关示例.(我在那里没有帐户,所以FWIK我无法提供直接链接.)
HTML:
<body>
<table>
<tr>
<td>The_quick_brown_fox_jumped_over_the_lazy_dog_A_0</td>
<td>The_quick_brown_fox_jumped_over_the_lazy_dog_A_1</td>
<td>The_quick_brown_fox_jumped_over_the_lazy_dog_A_2</td>
<td>The_quick_brown_fox_jumped_over_the_lazy_dog_A_3</td>
<td>The_quick_brown_fox_jumped_over_the_lazy_dog_A_4</td>
<td>The_quick_brown_fox_jumped_over_the_lazy_dog_A_5</td>
<td>The_quick_brown_fox_jumped_over_the_lazy_dog_A_6</td>
<td>The_quick_brown_fox_jumped_over_the_lazy_dog_A_7</td>
<td>The_quick_brown_fox_jumped_over_the_lazy_dog_A_8</td>
<td>The_quick_brown_fox_jumped_over_the_lazy_dog_A_9</td>
</tr>
</table>
</body>
Run Code Online (Sandbox Code Playgroud)
CSS:
table { page-break-inside:auto; }
td { border:1px solid lightgray; }
tr { page-break-inside:auto; }
Run Code Online (Sandbox Code Playgroud)
如果我尝试打印此表(例如,通过应用此框架 | 打印框架... | PDF | 在预览中打开PDF到Firefox 33.1 for OS X中的JSFiddle 结果视图和纸张尺寸/方向A4 …
假设我有一个some.account@gmail.com带有项目的Google帐户project-1(在Google Developer Console中配置为Google App Engine应用程序)和一个包含12..@developer.gserviceaccount.com属于它的电子邮件地址的服务帐户.
我知道如何使用此服务帐户创建日历并以编程方式操作其条目:我使用Google API客户端库(Java版本,带有服务帐户凭据)在我的Google App Engine应用程序中调用Google Calendar API只是.但是,任何此类创建的日历似乎都由服务帐户明确拥有,而不是由我的Google帐户使用.我从以下观察中得出结论:
My calendars.Other calendars| 来访问这样的日历 Add a friend´s calendar使用服务帐户的电子邮件地址,我可以发送请求,但它永远不会得到答复(可能是因为服务帐户的电子邮件地址不是"真实的"电子邮件地址).CalendarListEntry#hidden,因此应该应用默认值false.所以我的问题是:如何在普通的Google Calendar Web UI中访问使用Google Calendar API(以及我的案例中的Java客户端)以编程方式创建的日历和日历条目.例如,服务帐户可以与其拥有的Google帐户共享其日历,还是可以使用UI中的服务帐户凭据直接操作Google帐户的日历.
我意识到在同一主题上有一些先前的问题,但到目前为止它们并没有帮助我解开这个谜团.
google-app-engine google-calendar-api google-account service-accounts
我想实现一个简单的GKGameModel在夫特2.苹果例如Objective-C中被表达,并且包括此方法声明(所要求的协议NSCopying从GKGameModel继承):
- (id)copyWithZone:(NSZone *)zone {
AAPLBoard *copy = [[[self class] allocWithZone:zone] init];
[copy setGameModel:self];
return copy;
}
Run Code Online (Sandbox Code Playgroud)
这如何转化为Swift 2?以下在效率和忽略区域方面是否合适?
func copyWithZone(zone: NSZone) -> AnyObject {
let copy = GameModel()
// ... copy properties
return copy
}
Run Code Online (Sandbox Code Playgroud) 我目前很难理解为什么以下单元测试在iPad 2上失败.相对于两个布局约束所需的精确居中,自动布局似乎略微(0.5点)view内部误定位superview.看起来特别奇怪的是,关键测试(但最后断言)传递给iPhone 5,因此明显的舍入错误仅影响一个(iOS 6)平台.这里发生了什么?
更新1我已经改变了代码,以确保这两个帧的宽度和高度方面得到充分的约束,即使translatesAutoresizingMaskIntoConstraints是NO,所建议的可能相关的补救措施在这里.但是,这显然不会改变这种情况.
#import "BugTests.h"
@implementation BugTests
- (void)testCenteredLayout {
UIView *superview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 768, 88)];
superview.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
superview.translatesAutoresizingMaskIntoConstraints = YES;
UILabel *view = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
view.text = @"Single Round against iPad.";
view.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
view.translatesAutoresizingMaskIntoConstraints = NO;
[view addConstraint:[NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:0.0 constant:206.0]];
[view addConstraint:[NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:0.0 …Run Code Online (Sandbox Code Playgroud) 为了在现有的Objective-C项目中使用Swift类,我遵循了这个配方MyProject.这很好.
但是,我仍然无法在同一项目的单元测试中使用相同的Swift类.编译器标记了Objective-C单元测试所说#import "MyProjectTests-Swift.h"的行file not found.
如果试图改变测试目标的Product Module Name从默认MyProjectTests到MyProject作为一个评论认为这(解答)问题.然而,编译器现在标记了我的Objective-C单元测试所说#import "MyProject-Swift.h"的行file not found.
那么如何将Swift类集成到用Objective-C编写的(XCTest)单元测试中呢?Apple提供任何食谱吗?
我正在处理ResultSet从远程Microsoft SQL Server 2012到使用Microsoft JDBC Driver 4.0的Java客户端检索相对较大的性能问题.
当我在远程服务器的Microsoft SQL Server Management Studio上运行相应的查询时,它返回约.220k行几乎瞬间完成.当我从客户端发出相同的查询时,它会停止.同样的测试在客户端上运行良好,早期版本的数据库只有大约.400行合格.
我尝试通过附加;responseBuffering=adaptive"到传递给的URL 来解决这个问题DriverManager.getConnection().建立连接后,我在结果中看到了这个属性(以及其他几个)connection.getMetaData().getURL(),但是[ connection.getClientInfo(responseBuffering)返回null,而且客户端仍然停滞不前.
这里可能出现什么问题,如何指示Microsoft SQL Server(不仅仅是以Java编程方式建议)它必须以较小的块而不是一次性返回行,或者通过其他一些措施来改进JDBC查询时间.
两个进一步的观察似乎有点奇怪,可能完全指向不同的根本原因:
更新我已经检查过,发现在我的情况下切换PreparedStatement到Statement没有改善的东西(显然在其他情况下可以帮助).
更新这是我当前的查询:
select
PARENT.IDENTIFIER as PARENT_IDENTIFIER,
PARENT.CLASS as PARENT_CLASS,
CHILD.TYPE as CHILD_TYPE,
CHILD.IDENTIFIER as CHILD_IDENTIFIER,
PROPERTY.IDENTIFIER as PROPERTY_IDENTIFIER,
PROPERTY.DESCRIPTION as PROPERTY_DESCRIPTION,
PROPERTY.TYPE as PROPERTY_TYPE,
PROPERTY.PP as PROPERTY_PP,
PROPERTY.STATUS as PROPERTY_STATUS,
PROPERTY.TARGET as PROPERTY_TARGET -- a date
from …Run Code Online (Sandbox Code Playgroud) 是否可以在Xcode 6.1中配置目标的构建阶段,以便在编译源阶段之前可以发生复制文件阶段?
swift ×4
ios ×3
java ×2
swift2 ×2
autolayout ×1
cocoa-touch ×1
css ×1
dictionary ×1
eventkit ×1
gameplay-kit ×1
gson ×1
html ×1
ios8 ×1
ios9 ×1
jdbc ×1
layout ×1
objective-c ×1
printing ×1
sql-server ×1
xcode ×1
xcode6.1 ×1
xctest ×1