2011-06-30 73 views
0

在File.h錯誤:預期標識符或 '('

我有變量是:

NSString *Category; 

中的.m和.h

我得到這個錯誤「需要標識符或' (''在這行代碼上:

------------------------------------。 h

Category = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectStatement,3)]; 

[Categoryarray addObject:Category]; 

Category = [Categoryarray objectAtIndex:i]; 

sqlite3_bind_text(addStmt, 3, [Category UTF8String], -1, SQLITE_TRANSIENT); //! Receiver type 'Category'(aka 'struct objc_category *') is not Object.. 

類別不爲Object-C類名稱或別名

-------------------------------- -------結束

和第二類是顯示紅色的錯誤: ----------------- h亞類

IBOutlet中的UITextField *。類別;

----------------。m個子類

if([Category.text isEqualToString:@""] || Category.text == nil){ // ! expect ";" in expression 
    [email protected]" "; 
} 

在另一行代碼沒有錯,但僅此行是錯誤的。

我不知道爲什麼,有人可以幫忙嗎?

+0

哪一行,你得到一個錯誤? –

+0

你可以給行號碼嗎? –

+0

在範圍-----。h到---結束4行並在範圍內如果 –

回答

0

我想你遇到名稱衝突。 Categoryobj-class.h定義是這樣的:

typedef struct objc_category *Category; 

因此,您的錯誤(從您的意見):

Receiver type 'Category'(aka 'struct objc_category *') is not Objective-C class.

重命名你的實例變量別的東西應該可以解決這個問題(差不多了,請繼續閱讀) 。

此外,您的變量是NSString,並沒有一個屬性text

if([Category.text isEqualToString:@""] || Category.text == nil){ 
    [email protected]" "; 
} 

您可以直接調用的NSString的那些方法是這樣的:

if([myString isEqualToString:@""] || myString == nil) { 
    myString = @""; 
} 
+0

我應該改變變量,對吧?項目類別。 –

+0

是的,將'Category'重命名爲別的東西。 – albertamg

+0

我已經重命名,但它不起作用! –

1

如果 「Category」 是NSString,你可以直接做

if([Category isEqualToString:@""] || Category == nil){ 

} 
+0

它也顯示 - >!接收器類型'Category'(又名'struct objc_category *')不是Objective-C類。 T-T「 –

+0

您是否包含了包含Category的類的頭文件? – 2011-06-30 07:58:12

+0

當然,除類別外的變量都是合格的。 –

0

分類」 是的NSString,這樣你就可以直接做

if([Category isEqualToString:@""] || Category == nil){ 
    Category = @""; 
}