小编Chr*_*ris的帖子

NSDateFormatter未显示完整月份名称,仅显示单个数字

不确定是什么问题,但不是得到一个月的名字"七月",我得到"07".

dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setLocale:[NSLocale systemLocale]];
[dateFormat setTimeZone:[NSTimeZone localTimeZone]];    
[dateFormat setDateFormat:@"MMMM dd, h:mm a"];
Run Code Online (Sandbox Code Playgroud)

我已经尝试了M,MM,MMM,MMMM,并且所有这些都给了我一个数字,而不是月份名称,尽管有不同数量的前导0.

nsdate nsdateformatter ios

27
推荐指数
3
解决办法
3万
查看次数

AVCaptureSession无意中触发了AVCaptureSessionWasInterruptedNotification,无法找出中断源

我有一个类似于Apple的AVCam演示的视频摄像机视频.我遇到了一个非常令人沮丧的问题,我不知道如何进行调试.

基本上,我们谈论的是视频控制器上的摄像机设置.当VC出现时,预览层应显示相机看到的内容,并在按下录制按钮后开始录制到文件.

这有20%的时间.其余时间,VC正常加载,但预览层在1-3秒后冻结.一旦冻结,我就不会抛出任何崩溃或错误[编辑:不正确,见下文].但是,如果我在冻结后点击了记录,则会触发一次调用

[self.fileOutput startRecordingToOutputFileURL:currentVideoURL recordingDelegate:self];
Run Code Online (Sandbox Code Playgroud)

我立即接到对AVCaptureFileOutputRecordingDelegate方法的调用

-(void)captureOutput:(AVCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL fromConnections:(NSArray *)connections error:(NSError *)error
Run Code Online (Sandbox Code Playgroud)

设置了NSError对象,错误代码为-11803 {AVErrorSessionNotRunning}.这个方法肯定在调用[captureSession startRunning]之后运行.

UPDATE

有些事情导致会话立即中断.捕获开始后,captureSession.isInterrupted几乎立即设置为TRUE,并在启动会话时立即触发以下通知:

AVCaptureSessionWasInterruptedNotification
AVCaptureSessionDidStopRunningNotification  (edit -- had the wrong const here)
Run Code Online (Sandbox Code Playgroud)

什么可能导致会话在启动后立即中断?

是否有任何可能导致AVCaptureSession被中断的事件的文档?

avfoundation ios avcapturesession

6
推荐指数
0
解决办法
799
查看次数

在故事板中实例化xib时对initWithCoder的无限递归调用

为了在我的应用程序中重复使用某个子视图(基于故事板),我决定将子视图构建为nib,然后加载它.为此,我做了以下操作:

我有一个UIView子类,我们可以调用Widget.我创建了一个相应的xib文件,将File owner属性设置为我的新子类,连接IBOutlets.

然后,在我的故事板中,我在视图控制器内部有一个uiview,我将它的类设置为我创建的Widget类.

在widget类中,我重写initWithCoder,并在那里加载nib,如下所示:

-(id)initWithCoder:(NSCoder *)aDecoder{
    if ((self = [super initWithCoder:aDecoder])){
        [self addSubview:[[[NSBundle mainBundle] loadNibNamed:@"Widget" owner:self options:nil] objectAtIndex:0]];
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

应用程序此时会崩溃,并在此处设置断点显示initWithCoder被一遍又一遍地调用.

在这种情况下,我似乎混合了两种使用笔尖的方法,但我不清楚我哪里出错了.如果需要,我可以抛出堆栈跟踪,但它基本上是对同一函数的无限嵌套调用.

storyboard nib ios

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