月度存档: 5月 2010

[Cocoa学习]格式化日期和解析日期字符串

在应用程序中,显示消息的时候一般都需要附带一个消息接收的时间,使用 NSDate 和 NSDateFormatter 即可完成格式化输出日期的任务,但是在使用时会比较麻烦,通过 Category 的方式来给 NSDate 类直接添加两个类方法来做这些事情会比较好,在以后需要格式化字符串时不需要每次都去创建一个 NSDateFormatter 对象。

对于解析日期时间也是同理。

@interface NSDate (FormatString)
 
- (NSString*)stringWithFormat:(NSString*)fmt;
+ (NSDate*)dateFromString:(NSString*)str withFormat:(NSString*)fmt;
 


阅读全文 »

[Cocoa学习] 限制 NSTextField 中输入文本的长度

需求

NSTextField 作为一个常用的输入控件,有些在使用时需要去限制其中可以输入文本的长度,而 NSTextField 本身并没有提供这个功能,这就需要我们自己去想办法来实现了。

方法

在网上找了一下,发现可以通过继承 NSFormatter 实现一个子类来实现这个功能,参考了一下找到的代码[1],再将主要的 isPartialStringValid 方法根据自己的需要改了一下。

 
- (BOOL)isPartialStringValid:(NSString **)partialStringPtr
       proposedSelectedRange:(NSRangePointer)proposedSelRangePtr
              originalString:(NSString *)origString
       originalSelectedRange:(NSRange)origSelRange
            errorDescription:(NSString **)


阅读全文 »

iWangWang v0.3.0 Released

在上一个版本发布之后,过了两个月的时间,终于又有一个可以发布的版本了。

使用菜单中的“检查更新”既可完成更新,或者前往 Google Code 下载。

这次的更新如下:

  • [FIX] 修正在 Snow Leopard 中无法在 Dock 上显示未读消息数目的bug
  • [FIX] 修正在网页中点击旺旺图标无法打开聊天窗口的bug
  • [FIX] 修正无法使用“指定发送”和“添加好友”功能的bug
  • [FIX] 修正表情选择框在一些情况下引起程序崩溃的bug
  • [FIX] 修正在聊天窗口中无法指定发送功能无法使用的bug
  • [FIX] 修正一些菜单无法在所有窗口中使用的bug
  • [NEW] 现在可以使用 Ctrl+N 同时运行多个 iWangWang 来实现同时登录多个淘宝帐号
  • [NEW] 现在如果聊天时消息发送失败,可以重新输入验证码
  • [NEW] 登录后会恢复上一次退出时主窗口的位置
  • [NEW] 表情选择框现在可以用 ESC 键关闭
  • [NOTE] 有bug可以在 http://code.google.com/p/iwangwang/issues/entry 提出

这次主要修正了 iWangWang 在 Snow Leopard 下的兼容性,之前的开发环境是 Leopard,没能在 …

阅读全文 »