我在我的項目中添加了GDataframework
,添加後,我收到錯誤 「找到多個名爲'tag'且方法不匹配的結果。如果我刪除GDataFramework
比它工作正常。我可以修改GDataframework
或我應該在我的項目中完成?找到多個名爲「tag」的方法,結果不匹配
int buttonTag=[sender tag] //here that error prompts up at every place in my project
我在我的項目中添加了GDataframework
,添加後,我收到錯誤 「找到多個名爲'tag'且方法不匹配的結果。如果我刪除GDataFramework
比它工作正常。我可以修改GDataframework
或我應該在我的項目中完成?找到多個名爲「tag」的方法,結果不匹配
int buttonTag=[sender tag] //here that error prompts up at every place in my project
此鏈接有類似你這樣的問題:Defeating the "multiple methods named 'xxx:' found" error儘量遵循這個問題的答案確實的指導方針在自己的應用程序。
您的代碼是否在一個操作方法中,像這樣?
- (IBAction)buttonPressed:(id)sender {
int buttonTag = [sender tag];
}
然後你就可以用(在這種情況下UIButton *
)的正確類型發件人的更換id
解決的問題:
- (IBAction)buttonPressed:(UIButton *)sender {
int buttonTag = [sender tag];
}
因爲編譯器就知道這sender
是UIButton
的一個實例類,因此知道在哪裏應用哪個方法。
注意,您可以創建在Xcode連接時已經確定了正確的類型:
謝謝你......這個解決了我的問題 – Shoaib
在一個場景中,如果創建對象的工廠方法具有返回類型「ID」,那麼編譯器將檢查所有類中的方法簽名。如果編譯器在多個類中找到相同的方法簽名,則會引發問題。所以用「特定類名」替換返回類型「id」。
我認爲int buttonTag = [[sender tag] intValue];可能會解決你的問題。當「同名」方法返回「相同類型的值」(意味着如果兩個方法返回(id))時,會發生此問題。 – Bhavin
或者你可以使用int buttonTag = [(int)sender tag]; – Bhavin