簡體   English   中英

在objective-c上下文中“在非成員函數中無效使用'this'”?

[英]“Invalid use of 'this' in non-member function” in objective-c context?

使用Xcode。

在此代碼中(在接口中聲明了func),告訴subj錯誤,它位於帶有'self'的字符串上。

+ (void) run: (Action) action after: (int) seconds 
{
    [self run:action after:seconds repeat:NO];
}

什么...?

self是一個實例變量,用於引用當前對象的實例。

您試圖在類級方法+(void)...中使用它,而self沒有意義。 嘗試使用共享實例,或將相關類的實例傳遞給方法。

+ (void) run:(Action)action on:(MyClass*) instance after:(int) seconds
{ 
    [instance run:action after:seconds repeat:NO];
}

編輯

我的評論者指出, self在類級別上下文中確實具有含義,但它指的是類本身。 這意味着您正在嘗試調用如下所示的方法:

 [MyClass run:action after:seconds repeat:NO];

您應該針對的目標:

 [myClassInstance run:action after:seconds repeat:NO];

暫無
暫無

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

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