簡體   English   中英

錯誤:預期的標識符或“(”

[英]error: Expected identifier or '('

在文件.h

我有變量是:

NSString *Category;

in.m 和.h

我在這行代碼中收到此錯誤“Expected identifier or '('”:

- - - - - - - - - - - - - - - - - - 。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 class 名稱或別名

- - - - - - - - - - - - - - - - - - - -結尾

並在第二個 class 顯示紅色錯誤: -----------------.h sub class

IBOutlet UITextField *類別;

----------------.m 子 class

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

在代碼中,另一行沒有錯,但只有這一行是錯誤的。

我不知道為什么,有人可以幫忙嗎?

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

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

}

我認為您正在經歷名稱沖突。 Categoryobj-class.h中定義如下:

typedef struct objc_category *Category;

因此,您的錯誤(來自您的評論):

接收器類型“類別”(又名“struct objc_category *”)不是 Objective-C class。

將您的實例變量重命名為其他名稱應該可以解決問題(幾乎,請繼續閱讀)。

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

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

您可以像這樣直接在 NSString 上調用這些方法:

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

類別”是NSString ,所以你可以直接做

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM