小编Kob*_*ski的帖子

检测NSDate是否包含周末

我已将此类别添加到NSDate:

- (bool)isWeekend
{
  NSString* s = [self asString:@"e"];

  if ([s isEqual:@"6"])
    return YES;
  else if ([s isEqual:@"7"])
    return YES;
  else 
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

辅助功能:

- (NSString*)asString:(NSString*)format
{
  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  [dateFormatter setDateFormat:format];
  NSString *formattedDateString = [dateFormatter stringFromDate:self];
  [dateFormatter release];

  return formattedDateString;
}
Run Code Online (Sandbox Code Playgroud)

isWeekend如果是星期六或星期日,应该返回YES.但如果当地的星期日有一个星期的开始,它就不起作用,在这种情况下,星期五将是第6天,星期六将是第7天.

我怎么解决这个问题?

objective-c

15
推荐指数
4
解决办法
5909
查看次数

使用MagicalRecord的核心数据无法保存到iCloud

我在我的项目中使用MagicalRecord.到目前为止,它一直在使用SQLite商店.但现在我正在尝试"升级"到iCloud以在我的iPhone和iPad版本之间进行同步.

但它没有像我预期的那样工作.该应用程序仍然工作相同 - 数据被保存和回读,但它没有像我期望的那样保存在iCloud中.

我所做的唯一改变是在MagicalRecord设置中.

之前:

[MagicalRecordHelpers setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"hdhomerun.sqlite"];
Run Code Online (Sandbox Code Playgroud)

后:

[MagicalRecordHelpers setupCoreDataStackWithiCloudContainer:@"AAAAAAAAAA.com.unpaq.hdhomerun" localStoreNamed:@"hdhomerun_local"];
Run Code Online (Sandbox Code Playgroud)

AAAAA在代码中不是AAAAA,而是来自开发者档案的私人ID.

我可以在输出日志中看到检测到iCloud并且没有发生错误.我也试过单步执行代码,一切看起来都很好.

我错过了什么?我需要听一些活动吗?我无法找到如何将MagicalRecord与iCloud一起使用的示例.

MagicalRecord的版本就是这个版本:https:
//github.com/magicalpanda/MagicalRecord

core-data ios icloud magicalrecord

6
推荐指数
1
解决办法
3014
查看次数

创建pin码对话

我想创建一个pin-code对话框,就像你可以在iPhone上打开一样.

对于那些没有看过它的人,它由四个盒子和一个数字键盘组成.输入数字时,第一个框中会出现一个点.等等.当您点击删除按钮时,最后一个点被删除.

我把它设置为四个UITextFields,在我的代表中我听:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
  [self performSelector:@selector(pickNext:) withObject:textField afterDelay:0.0];
  return YES;
}
Run Code Online (Sandbox Code Playgroud)

pickNext:方法将切换到下一个UITextField,如下所示:

- (void)pickNext:(UITextField*)textField
{
  switch ([textField tag]) {
    case 1:
      [pin2 becomeFirstResponder];
      break;
    case 2:
      [pin3 becomeFirstResponder];
      break;
    case 3:
      [pin4 becomeFirstResponder];
      break;
    case 4:
      [textField resignFirstResponder];
      break;
    default:
      break;
  }
}
Run Code Online (Sandbox Code Playgroud)

这实际上有效,但问题是当UITextField已经为空时,删除键不会产生任何通知.所以我无法移动到之前的UITextField.

那么有没有人更好地解决如何解决这个问题.我在想隐藏的文本字段......?

iphone uitextfield

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

dispatch_debug应该如何使用?

我正在努力解决我的GCD代码中的死锁问题.然后我dispatch_debug在头文件中看到了这个函数<dispatch/object.h>.

/*!
 * @function dispatch_debug
 *
 * @abstract
 * Programmatically log debug information about a dispatch object.
 *
 * @param object
 * The object to introspect.
 *
 * @param message
 * The message to log above and beyond the introspection.
 */
__OSX_AVAILABLE_STARTING(__MAC_10_6,__IPHONE_4_0)
DISPATCH_EXPORT DISPATCH_NONNULL2 DISPATCH_NOTHROW __attribute__((__format__(printf,2,3)))
void
dispatch_debug(dispatch_object_t object, const char *message, ...);
Run Code Online (Sandbox Code Playgroud)

但我无法做任何事情.我希望它会打印出状态并锁定或类似的东西.

这是我如何使用它:

grabber_queue = dispatch_queue_create("com.unpaq.tvguideplus.grabber", NULL);
dispatch_debug(grabber_queue, "grabber queue");
Run Code Online (Sandbox Code Playgroud)

iphone debugging multithreading grand-central-dispatch

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