从beta 8.3开始,zillions警告"字符串插值会为可选值生成调试描述;你的意思是明确说明吗?" 出现在我的代码中.
例如,警告在以下情况下弹出,其中选项可能导致nil:
let msg = "*** Error \(options["taskDescription"]): cannot load \(sUrl) \(error)"
Run Code Online (Sandbox Code Playgroud)
如前所述,我(和编译器)可以将选项插值为'nil'.但是编译器改变了主意.
编译器建议添加一个带有描述的String构造函数,如下所示:
let msg = "*** Error \(String(describing: options["taskDescription"])): cannot load \(sUrl) \(error)"
Run Code Online (Sandbox Code Playgroud)
显然,结果是明确的,但在我看来也非常麻烦.有更好的选择吗?我是否必须修复所有警告或更好等待下一个测试版?
我的代码snipet如下......:
let defaultRouteReachability = withUnsafePointer(to: &zeroAddress) {
SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0))
}
Run Code Online (Sandbox Code Playgroud)
...不再使用以下错误编译,我不明白:
"'init' is unavailable: use 'withMemoryRebound(to:capacity:_)' to temporarily view memory as another layout-compatible type."
Run Code Online (Sandbox Code Playgroud)
该怎么做才能修复它?
运营商的前Swift 3代码是:
infix operator × {associativity left precedence 150}
Run Code Online (Sandbox Code Playgroud)
但是现在,根据Xcode 8 beta 6,这会产生以下警告:
"operator should not be declared with body"
Run Code Online (Sandbox Code Playgroud)
使用优先级组谓词的正确方法是什么,因为现在没有doc存在?
我试过这个,但不起作用:
infix operator × : times
precedencegroup times {
associativity: left
precedence: 150
}
Run Code Online (Sandbox Code Playgroud) 我有一个声明MetricsService服务的组件.此服务需要http模块和两个定义主机和要使用的身份验证密钥的字符串.
指标服务如下:
@Injectable()
export class MetricsService {
constructor(
private http: Http,
public wsAuthKey: string,
public wsHost: string
) {
this.wsAuthKey = wsAuthKey || "blahblahblahblahblahblahblahblah=";
this.wsHost = wsHost || "https://preprod-admin.myservice.ws";
}
Run Code Online (Sandbox Code Playgroud)
使用它的组件编写如下:
export class DatavizComponent implements OnInit, OnChanges {
constructor(
private zms: MetricsService,
) {
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我应该如何编写组件构造函数以使整个工作正常,包括传递主机和密钥(但不传递http)?
注意:当前编写的代码无法编译.
更确切地说,我希望该组件提供依赖于应用程序的数据,如下所示:
export class DatavizComponent implements OnInit, OnChanges {
constructor(
private zms = MetricsService("http://myhost.com", "mykey"),
) {
}
Run Code Online (Sandbox Code Playgroud)
但如果这个工作,如何通过http?
建议解决方案后更新:
export class MetricsService {
constructor(
private http: Http,
@Inject('wsAuthKey') @Optional() public wsAuthKey?: string,
@Inject('wsHost') …
Run Code Online (Sandbox Code Playgroud) 我希望有一个类似于<Table>
HTML标记的行为,在这种意义上,框架的大小根据其内容而定.
在我的上下文中,我使用UIStackView作为UITableViewCell的内容视图.由于单元格中的项目是各种信息,因此单元格的最终高度应该是可变的.
我的策略是以编程方式将单元格构建为具有.Vertical轴的UIStackView,如下面的代码片段所示:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
let sv = UIStackView(frame: tableview.frame)
sv.axis = .Vertical
cell.addSubview(sv)
for i in information {
let l = UILabel()
l.text = i
sv.addSubViewAndArrange(l)
}
return cell
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,单元格大小不适应内容,因此我必须自己设置单元格高度,如下所示:
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return cellHeight // a constant
}
Run Code Online (Sandbox Code Playgroud)
我怎么能解决这个问题?
在昨天发布的新Xcode 5重建我的项目时,我很失望地看到我的故事板视图控制器动摇了.
在经过多次尝试修复之后,我必须得出结论,我仍然遇到一个问题:导航视图控制器使导航栏与视图的内容重叠.这样做,iOS 7设备上的应用程序正常(没有重叠),但使用iOS 6.1设备时,导航栏重叠.
我从FlatUI运行了一个示例项目来交叉检查问题,他们遇到了同样的问题.有什么好主意吗?
我正在向iOS 9移植一个巨大的angularJS应用程序,并希望从WKWebView(从UIWebView迁移)中受益.该应用程序是本地自包含的,因此使用file:// protocol为app主程序包提供所有文件.
不幸的是,听起来WKWebView最初破坏了iOS 8.x上的file://协议,但是当我看到全新的iOS 9 loadFileURL(basePath:,allowReadAccessToURL :) API时,会有一些亮点.
let readAccessPath = NSURL(string:"app", relativeToURL:bundleURL)?.absoluteURL
webView.loadFileURL(basePath!, allowingReadAccessToURL:readAccessPath!)
Run Code Online (Sandbox Code Playgroud)
唉,当我将allowsReadAccessToURL设置为我的bundle(app /)中的根文件夹时,我只获得了"索引文件",没有加载异步文件.
有没有这方面经验的人?
[更新]我看到我的初始问题描述不够准确.我确实在运行HTML.但我的异步angularJS调用实际上被WebKit框架中的安全监视程序阻止.
我的iOS 7应用程序在必要时发出文本.
我想做的是让用户在我的运行时收听他的音乐或播客(或使用音频的任何其他应用).
预期的行为是,当我的应用说话时,其他音频会混音或低音,然后其他音频会立即在初始级别恢复音量.
我已经尝试了很多方法来实现这个目标,但没有什么是好的,因为我在代码之后列出了我面临的问题.
我目前的实现基于在播放或文本到语音之前创建会话,如下所示:
+ (void)setAudioActive {
[[self class] setSessionActiveWithMixing:YES];
}
Run Code Online (Sandbox Code Playgroud)
播放/演讲结束后,我将我设置为闲置如下:
+ (void)setAudioIdle {
[[self class] setSessionActiveWithMixing:NO];
}
Run Code Online (Sandbox Code Playgroud)
核心功能,根据活动参数处理会话设置,如下所示:
+ (void)setSessionActiveWithMixing:(BOOL)active
{
NSError *error = NULL;
BOOL success;
AVAudioSession *session = [AVAudioSession sharedInstance];
static NSInteger counter = 0;
success = [session setActive:NO error:&error];
if (error) {
DDLogError(@"startAudioMixAndBackground: session setActive:NO, %@", error.description);
}
else {
counter--; if (counter<0) counter = 0;
}
if (active) {
AVAudioSessionCategoryOptions options = AVAudioSessionCategoryOptionAllowBluetooth
//|AVAudioSessionCategoryOptionDefaultToSpeaker
|AVAudioSessionCategoryOptionDuckOthers
;
success = [session setCategory://AVAudioSessionCategoryPlayback
AVAudioSessionCategoryPlayAndRecord
withOptions: …
Run Code Online (Sandbox Code Playgroud) 我成功地对在 Beaglebone black 上运行的 Nodejs 应用程序进行了 docker 化。但现在我想从 docker 容器内访问 CAN,但它不起作用。
\n请注意,我成功地在主机中配置了 CAN 端口,并且 candump 显示它可以工作。
\n$ candump can1\n can1 18FF30D0 [8] 00 00 00 00 00 00 00 00\n can1 18FF02D0 [4] 00 00 00 00\n can1 18FF21D0 [3] 00 00 00\n can1 18FF3CD0 [4] 00 7D 28 7D\n can1 18FF30D0 [8] 00 03 00 00 00 00 00 00\n can1 18FF02D0 [4] 00 00 00 00\n
Run Code Online (Sandbox Code Playgroud)\n我在 Dockerfile 中构建了 socketcan 节点模块,如下所示:
\n #If you don't …
Run Code Online (Sandbox Code Playgroud) 我应该看到2个黄色三角形,但我什么也看不见.
class Terrain {
private class func createGeometry () -> SCNGeometry {
let sources = [
SCNGeometrySource(vertices:[
SCNVector3(x: -1.0, y: -1.0, z: 0.0),
SCNVector3(x: -1.0, y: 1.0, z: 0.0),
SCNVector3(x: 1.0, y: 1.0, z: 0.0),
SCNVector3(x: 1.0, y: -1.0, z: 0.0)], count:4),
SCNGeometrySource(normals:[
SCNVector3(x: 0.0, y: 0.0, z: -1.0),
SCNVector3(x: 0.0, y: 0.0, z: -1.0),
SCNVector3(x: 0.0, y: 0.0, z: -1.0),
SCNVector3(x: 0.0, y: 0.0, z: -1.0)], count:4)
]
let elements = [
SCNGeometryElement(indices: [0, 2, 3, 0, 1, 2], …
Run Code Online (Sandbox Code Playgroud) ios ×3
swift ×3
swift3 ×3
xcode8-beta6 ×2
angular ×1
angularjs ×1
bluetooth ×1
can-bus ×1
constructor ×1
docker ×1
height ×1
ios6.1 ×1
ios7 ×1
node.js ×1
operators ×1
optional ×1
scenekit ×1
scnnode ×1
service ×1
storyboard ×1
swift2 ×1
uistackview ×1
uitableview ×1
uiwebview ×1
wkwebview ×1