目前分類:mac (6)

瀏覽方式: 標題列表 簡短摘要

沒想到在2008年竟然能看見Apple IIc開箱照,能從1988年5月5日完整保存至今,實在太神奇了。eBay才真的是什麼都有、什麼都賣、什麼都不奇怪。


Forth 發表在 痞客邦 留言(0) 人氣()

NSObject提供兩個method:

- (id)valueForKey:(NSString *)attrName
- (void)setValue:(id)newValue forKey:(NSString *)attrName

我們可以透過這兩個method存取物件中的變數,它們會優先使用變數的accessor method,當accessor method不存在時,才直接存取變數。假設有隻貓:

@interface Cat : NSObject {
  NSString* name;
}
- (NSString*)name;
- (void)setName:(NSString*)aName;
@end

我們可以這麼用:

[cat setValue:@"Cocoa" forKey:@"name"];
NSString* catName = [cat valudForKey:@"name"];

傳給setValue的值如果是nil,會呼叫NSObject的

- (void)setNilValueForKey:(NSString *)s

setNilValueForKey預設會產生exception,我們可以在子類別修改其行為。

Forth 發表在 痞客邦 留言(0) 人氣()

  • Objective-C識別字皆前置@字符
  • id是指標,可以指向任何物件
  • BOOL其實是char,用YES代表1,NO代表0
  • IBOutlet是給Interface Builder看的,沒別的意思
  • IBAction是給Interface Builder看的,與void是同樣的東西
  • nil和NULL是同樣的東西,一般將nil用於物件指標
  • 送給nil的任何通知都會被忽略
  • 不能把nil放進NSArray,要用[NSNull null]代替
  • 儲存在nib檔的物件被重新賦予生命之後,每個物件都會收到awakeFromNib通知
  • #import類似#include,#import會確保檔案只被引入一次
  • 把數字當物件傳遞時可以用[[NSNumber alloc] initWithInt:(1234)]
  • 用alloc建立物件時,retain count為1,呼叫retain會將retain count加1,呼叫release會將retain count減1,retain count為0時,物件會被釋放
  • 物件的dealloc會在retain count為0時被呼叫
  • 呼叫autorelease會將物件放進autorelease pool,在event loop結束時被釋放
  • 從alloc、new、copy或mutableCopy取得的物件,retain count為1,且不在autorelease pool中
  • 從其它函式取得的物件,retain count為1,且在autorelease pool中,要呼叫retain才能保留物件下次再用,否則會在event loop結束時被釋放
  • init中要記得先[super init],dealloc中要記得在最後[super dealloc]
  • NSLog(@"%@")顯示的物件資訊是由(NSString*)description提供
  • 用NSWindow的initialFirstResponder指定預設輸入焦點
  • 編譯取取得selector:SEL selector = @selector(message:)
  • 程式執行時從字串取得selector:SEL selector = NSSelectorFromString(@"message:")
  • [object message:arg]會被編譯器換成objc_msgSend(object, @selector(message:), arg)
  • 可以用(BOOL)respondsToSelector:(SEL)aSelector檢查物件的method是否存在

Forth 發表在 痞客邦 留言(0) 人氣()

自8月23日至8 月27日止,每天一本MacBook和24片iPod nano,趕快試手氣去!有了Apple Store,買Mac終於可以BTO了,買iPod送人也可以加上雷射雕刻。以後敗家就更方便了! *嘆*


Forth 發表在 痞客邦 留言(0) 人氣()

於Windows Vista執行secpol.msc,到安全性設定/本機原則/安全性選項,開啟網路安全性: LAN Manager驗證層級,將設定改成傳送LM和NTLM - 如有交涉,使用NTLMv2工作階段安全性


Forth 發表在 痞客邦 留言(0) 人氣()

mdutil -i off /Volume
mdutil -E /Volume
rm -rf /Volumn/.Spotlight*

Forth 發表在 痞客邦 留言(0) 人氣()