小编Zig*_*ong的帖子

Watch App的生命周期是什么?

WKInterfaceController我的Apple Watch应用程序中有两个子类.第一个是另一个的入口,它们nextPage与Interface Builder 的关系.对于awakeWithContext,willActivate并且didDeactivate在每个InterfaceController方法,我打印大家都出去了,而手表应用的启动.

我得到了这个输出:

awakeWithcontext -> First
awakeWithContext ?> Second
willActivate ?> First
willActivate -> Second
didDeactivate ?> Second
Run Code Online (Sandbox Code Playgroud)

然后我滑到下一个InterfaceController:

willActivate -> Second
didDeactivate ?> First
Run Code Online (Sandbox Code Playgroud)

所以现在的问题是:

awakeWithContext只要启动,Watch App中所有InterfaceControllers的所有方法都会被触发吗?

willActivate方法怎么样?

apple-watch watchkit watchos-2

6
推荐指数
2
解决办法
1918
查看次数

AVAssetWriterInput - 黑屏,46小时

我正在尝试AVCaptureSession并编码为mp4.看起来这应该是直截了当的,我正在尝试编码单个960x540视频流; 出于此问题的目的,我并不担心音频问题.

当我运行以下代码并out2.mp4使用Xcode 抓取文档容器时,我会在快速时间内获得黑屏,持续时间为46小时.至少分辨率看起来正确.这是从的输出ffmpeg -i out2.mp4

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out2.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: mp41mp42isom
    creation_time   : 2015-11-18 01:25:55
  Duration: 46:43:04.21, start: 168178.671667, bitrate: 0 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt709/bt709), 960x540, 1860 kb/s, 27.65 fps, 29.97 tbr, 600 tbn, 1200 tbc (default)
    Metadata:
      creation_time   : 2015-11-18 01:25:55
      handler_name    : Core Media Video
Run Code Online (Sandbox Code Playgroud)

为什么我不能AVAssetWriterInput在此方案中添加样本缓冲区?

var videoInput: AVAssetWriterInput?
var assetWriter: AVAssetWriter?

override func viewDidLoad() {
    super.viewDidLoad() …
Run Code Online (Sandbox Code Playgroud)

avfoundation ios avassetwriter avasset swift

5
推荐指数
1
解决办法
415
查看次数

将代码从Objective-C转换为Swift后,测试用例失败

我正在以Swift风格进行一些按位操作,这些代码最初是用Objective-C/C编写的.我UnsafeMutablePointer用来说明内存地址的起始索引,并UnsafeMutableBufferPointer用于访问范围内的元素.

您可以在此处访问原始的Objective-C文件.

public init(size: Int) {
    self.size = size
    self.bitsLength = (size + 31) / 32
    self.startIdx = UnsafeMutablePointer<Int32>.alloc(bitsLength * sizeof(Int32))
    self.bits = UnsafeMutableBufferPointer(start: startIdx, count: bitsLength)
}

/**
 * @param from first bit to check
 * @return index of first bit that is set, starting from the given index, or size if none are set
 *  at or beyond its given index
 */
public func nextSet(from: Int) -> Int {
    if from …
Run Code Online (Sandbox Code Playgroud)

ios swift unsafemutablepointer

5
推荐指数
1
解决办法
415
查看次数

使用 reduce 将结构的属性附加到数组

我有一系列项目

struct Item {
    var id: String
}
Run Code Online (Sandbox Code Playgroud)

如何使用reduce函数将所有 id 附加到数组?

我的尝试:

self.items.reduce([String](), { $0.0.append($0.1.id)})
Run Code Online (Sandbox Code Playgroud)

但是编译器显示错误:

上下文闭包类型 '(_, [Item]) -> _' 需要 2 个参数,但在闭包主体中使用了 1 个参数

swift

5
推荐指数
2
解决办法
2804
查看次数

如何添加浮动在UIScrollView上方的按钮?

假设我有一个UIScrollView和一个按钮,如何设置浮动在UIScrollView或Window上方的按钮?(或者将按钮固定在屏幕中央,无论它如何滚动).

任何建议将不胜感激.

uiscrollview ios

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

映射具有特定格式的Swift数组

给定一个包含如下元素的数组:

let array = [[a], [b, c], [d, e, f]]
Run Code Online (Sandbox Code Playgroud)

是否有一种优雅的方法将此数组转换为一个数组,该数组返回一个具有外部数组索引的元组:

let result = [(a, 0), (b, 1), (c, 1), (d, 2), (e, 2), (f, 2)]
Run Code Online (Sandbox Code Playgroud)

arrays swift

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

Xcode 4.6/5,lldb断点不起作用

我在使用调试器LLDB时遇到问题,

如果在"main.c"中,我包含另一个文件,如"ac",并在"ac"中设置断点,则断点永远不会被停止.

还有其他人得到这个吗?

好的,这是一个例子

// main.c
#include "a.c"
int main()
{
    test();
}


// a.c
void test()
{
    return; // (Using UI to)set break point here, the gdb will stop, and lldb will not
}
Run Code Online (Sandbox Code Playgroud)

================================================== ====================

对于trojanfoe:我在Xcode 4.6.3命令行实用程序中尝试过这些步骤,结果和你的一样,但我的问题是在GUI上,

当我使用鼠标在"ac"上设置断点时,它将无法工作.

我试图在main()上停止,然后输入这个cmd"br list",这是控制台上的消息,

(lldb) br list
Current breakpoints:
1: file ='a.c', line = 13, locations = 0 (pending)


2: file ='main.c', line = 15, locations = 1, resolved = 1

  2.1: where = test`main + 15 at main.c:15, address = 0x0000000100000f3f, …
Run Code Online (Sandbox Code Playgroud)

xcode breakpoints

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

AFNetworking:如何在失败时获取响应字符串?

我在用

- (AFHTTPRequestOperation *)GET:(NSString *)URLString
                 parameters:(id)parameters
                    success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success
                    failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure;
Run Code Online (Sandbox Code Playgroud)

与服务器通信,它工作得很好.

但有时,服务器上有一个错误,它的响应不是json格式.我的搭档希望我显示错误字符串,但由于它进入了故障块,我很难得到原始的响应字符串.

有人可以帮忙吗?

ios afnetworking

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

Homebrew 不断显示警告以在 OS X 10.11 上设置 PATH

运行后我在 Mac OSX 10.11 上

brew doctor
Run Code Online (Sandbox Code Playgroud)

我的终端中有一个警告。

Warning: Homebrew's sbin was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting the PATH for example like so
echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

在我的.zshrc文件中修复了这个 PATH 后,我brew doctor再次运行,这个错误仍然存​​在。

有什么建议?

macos homebrew zsh zshrc

0
推荐指数
1
解决办法
3215
查看次数