小编Ath*_*dya的帖子

如何从NSUserDefaults检索和分配NSDate对象?

我正在构建一个秒表应用程序,我需要在用户关闭应用程序之前存储开始日期,并在用户再次打开应用程序时需要检索它.

因此,例如,如果用户启动秒表然后关闭应用程序,然后在一段时间后再次打开应用程序,应用程序应该在开始和结束之间添加时间,如果秒表正在运行.

我在viewcontroller中创建了两个函数来处理这个问题.这是代码:

    override func viewWillAppear(animated: Bool)
    {

      let startTimedefault:NSUserDefaults = NSUserDefaults.standardUserDefaults()

      let startTimesaved:NSDate = startTimedefault.objectForKey("start time") // This line is buggy


      if(launchBool == true)
      {      
         timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "fireStopWatch", userInfo: nil, repeats: true)

         startTime = startTimesaved
      }

      if(launchBool == false)
      {
         timer.invalidate()
      }

    }

    override func viewWillDisappear(animated: Bool)
    {
       NSUserDefaults.standardUserDefaults().setObject(launchBool, forKey: "Start/Stop")
       NSUserDefaults.standardUserDefaults().setObject(startTime, forKey: "start time")
       NSUserDefaults.standardUserDefaults().setObject(elapsedTime, forKey: "elapsed time")
    }
Run Code Online (Sandbox Code Playgroud)

我在StackOverflow上看了几篇帖子:

在NSUserDefaults中存储NSDate的最佳方法是什么?

iOS - 无法将NSDate存储到NSUserDefaults中

xcode ios swift xcode6

38
推荐指数
2
解决办法
2万
查看次数

从AudioInputIOProc创建CMSampleBufferRef

我有一个AudioInputIOProc我得到的AudioBufferList.我需要将其转换AudioBufferListCMSampleBufferRef.

这是我到目前为止编写的代码:

- (void)handleAudioSamples:(const AudioBufferList*)samples numSamples:(UInt32)numSamples hostTime:(UInt64)hostTime {
// Create a CMSampleBufferRef from the list of samples, which we'll own

  AudioStreamBasicDescription monoStreamFormat;
  memset(&monoStreamFormat, 0, sizeof(monoStreamFormat));
  monoStreamFormat.mSampleRate = 44100;
  monoStreamFormat.mFormatID = kAudioFormatMPEG4AAC;
  monoStreamFormat.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagsNativeEndian | kAudioFormatFlagIsPacked | kAudioFormatFlagIsNonInterleaved;
  monoStreamFormat.mBytesPerPacket = 4;
  monoStreamFormat.mFramesPerPacket = 1;
  monoStreamFormat.mBytesPerFrame = 4;
  monoStreamFormat.mChannelsPerFrame = 2;
  monoStreamFormat.mBitsPerChannel = 16;

  CMFormatDescriptionRef format = NULL;
  OSStatus status = CMAudioFormatDescriptionCreate(kCFAllocatorDefault, &monoStreamFormat, 0, NULL, 0, NULL, NULL, &format);
  if (status …
Run Code Online (Sandbox Code Playgroud)

c++ audio macos objective-c core-audio

8
推荐指数
1
解决办法
249
查看次数

标签 统计

audio ×1

c++ ×1

core-audio ×1

ios ×1

macos ×1

objective-c ×1

swift ×1

xcode ×1

xcode6 ×1