2012-02-20 88 views
-3

這是我的第一個Mac應用程序,而我在簡單的代碼示數出來。預計標識符或 '(' 在Xcode

@interface AppDelegate : NSObject <NSApplicationDelegate> 
@property (assign) IBOutlet NSWindow *window; 
@property (assign) IBOutlet NSButton *AddHostsButton; 

NSFileManager *fileman; 

fileman = [NSFileManager defaultManager]; 

if ([*fileman fileExistsAtPath:@"/private/etc/hosts" ] == YES) 
NSLog @"Hosts exists"; 

else NSLog @"Hosts not found"; 


@end 

回答

2

在的OBJ-C,字符串寫入@"like this",不。

而且你需要把你的代碼中的一些方法體。

+0

成功後Objective-C的指令「@」添加@後回來。 – user1222053 2012-02-20 21:22:55

+0

*咳嗽*你需要給我一些更多的信息,這裏的菜鳥。 – user1222053 2012-02-20 21:24:49

+0

'[NSFileManager fileExistsAtPath:@「/ private/etc/hosts」]' - 這是你有什麼? – bneely 2012-02-20 21:25:22

2

你的代碼屬於一個)的@implementation塊,而不是@interface塊裏面,它需要一個方法定義的一部分,不只是掛在像你一樣打開hown。它應該是這個樣子:

@implementation AppDelegate 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    if ([[NSFileManager defaultManager] fileExistsAtPath:@"/private/etc/hosts"] == YES) 
     NSLog (@"Hosts exists"); 
    else 
     NSLog (@"Hosts not found"); 
    return YES; 
} 

@end 
+0

類方法'+ fileExistsAtPath未找到(返回類型默認爲'id') – user1222053 2012-02-20 21:43:21

+0

預期類型。 – user1222053 2012-02-20 21:45:29

+0

@ user1222053我從來沒有聲稱你的代碼是正確的 - 我只是把它放到一個至少應該有意義的表單中。至於那個特定的錯誤,這是因爲'fileExistsAtPath:'是一個實例方法,而不是一個類方法。我會在上面的代碼中解決這個問題,但是你真的應該爲自己學習更多的語言和學習使用文檔。成爲新人沒有任何問題,但是這不應該阻止你將這些錯誤排除在外。 – Caleb 2012-02-20 21:51:43

1

雖然迦勒和西里爾已經確定了具體的問題,總的問題是,你不寫Objective-C代碼。這是最好的僞代碼。

您需要從Objective-C的初學者指南開始 - 有很多 - 並學習語言。

(並非是一種侮辱 - 我們都是你在哪裏,在同一時間!)