2011-08-31 134 views
0

在我的.h:爲什麼不能識別這個實例變量?

@class PanelController; 

@interface PanelController : NSWindowController <NSWindowDelegate> 
{ 
    NSURL *zURL; 
} 

@property (nonatomic, assign) NSURL *zURL; 

@end 

在我的.m:

@synthesize zURL; 

... 

- (IBAction)openBrowser:(id)sender { 
    self.zUrl = [zOpenPanel URL]; 
} 

錯誤:

zURL not found on object PanelController 
+2

有代碼塊中一個錯字?你寫了「self.zUrl」這是!=「self.zURL」,如果這就是你的意思。錯誤字符串有zURL,這意味着某些東西是錯誤的。 –

回答

10

由於Objective-C是區分大小寫的。

您使用self.zUrl但它應該是self.zURL

(另外,如果你聲明一個屬性的實例變量的聲明可能是不必要的。)

+2

在32位OS X,IIRC下仍然需要。 – Wevah

+0

(附錄:如果您沒有自己實現屬性方法,則在舊的運行時(32位OS X)下是必需的,因爲它不支持合成的ivars。) – Wevah

相關問題