2013-03-02 80 views
2

我想作爲參數通過傳遞參數:@selector

[self action:@selector(showDetailedImage)]; 

添加NSIndexpath的方法是否有可能一個額外的參數(NSIndexPath)添加到這個方法?

回答

5

不,你不能傳遞參數,你只能表明這個選擇器會帶多少個參數。

如果您需要這樣做,您可以創建一個屬性並通過方法showDetailedImage訪問它。

但是你可以使用這個選擇:

[self performSelector:@selector(showDetailedImageIndex:) withObject:objectOfNSIndex]; 
+0

感謝您的信息。在我查詢的是 - 創建一個屬性,你的意思是在頭文件中創建一個NSIndexpath * indexpath,然後在實現類中分配值並在該方法中訪問。糾正我,如果我錯了。 – 2013-03-02 15:50:19

+0

是的你是正確的,除非你需要像其他範圍一樣,它會是伊娃或全局'@屬性(強)NSIndexpath *索引路徑;'' – 2013-03-02 15:51:21

-5

你有額外的參數添加到

ShowDetailedImage:(NSIndexPath *)indexPath

可以調用[自我行動:@選擇(showDetailedImage :)]。

+0

我試過了,但沒有工作。顯示的錯誤消息是「預期的」: – 2013-03-02 15:51:43

0

做一個包裝(另一種方法)說你現在,選擇法-(void)originalSelectorMethod:(id)argument;,使包裝爲你的新選擇,進一步要求的-(void)wrapperMethodOforiginalSelectorMethod;您使用你的參數的originalSelectorMethod。