如何聲明和實現將返回視圖屬性的協議? 例如我有一個名爲mainView的視圖,我希望它能夠在另一個視圖(例如customView)詢問它時返回數組。 我在做什麼是我在mainView實現文件中聲明瞭一個協議(帶有一個returnTheArray函數),並將customView設置爲採用此協議,但我堅持了這一點。我該怎麼做才能正確地工作?或者有更有效/簡單/正確的方法來做到這一點?謝謝。通過協議在兩個視圖控制器之間傳遞數據
1
A
回答
2
協議本身只是函數/方法名稱,參數和返回值的聲明。作爲一個協議,只有當它被許多類實現時,我個人更喜歡在一個單獨的頭文件protocolName.h中聲明它。
符合協議的每個類都需要實現該方法。對我來說,它是如此簡單。
AClass.h
@itnerface ACLASS:NSObject的{ //一些性質 } // @property語句 @end
AClass.m
#include "BClass.h"
@implementation AClass
//@synthesize statements;
- (void) aFunctionFetchingTheArray {
BClass *bClass = [[BClass alloc] initWithSomething:kParameter];
NSArray *anArray = [bClass returnTheArray];
//Do something with it
}
@end
MyProtocol.h
@protocol MyProtocol
- (NSArray *) returnTheArray;
@end
BClass.h
#include "MyProtocol.h"
@interface BClass <MyProtocol> {
// some properties in interface
}
// some @property
// some methods
@end
BClass.m
#include "BClass.h" //No need to include MyProtocol.h here too, in this case
- (NSArray *) returnTheArray {
return [NSArray arrayWithObjects:@"A", [NSNumber numberWithtInt:1], [UIColor clearColor], somethingElse, evenMore, nil];
}
// more methods
@end
請糾正我,如果我錯過了或者拼錯了重要的東西。
相關問題
- 1. 試圖在兩個視圖控制器之間傳遞數據
- 2. 通過屬性在視圖控制器之間傳遞數據
- 3. 通過segue在視圖控制器之間傳遞數據
- 4. 無法在兩個視圖控制器之間傳遞數據
- 5. 在兩個視圖控制器之間傳遞數據Swift IOS
- 6. 如何在兩個視圖控制器之間傳遞數據
- 7. 在兩個視圖控制器之間傳遞mapkit數據
- 8. 使用協議和委託在視圖控制器之間傳遞數據
- 9. 如何在兩個視圖控制器之間傳遞整數?
- 10. 使用自定義協議在兩個視圖控制器之間傳遞數據值
- 11. 如何通過協議/代理在UIViewControllers之間傳遞數據
- 12. 使用協議和代理在視圖之間傳遞數據
- 13. 在視圖控制器之間傳遞多個數據
- 14. Swift - 在兩個tableviews(2個視圖控制器)之間傳遞數據
- 15. 如何在兩個視圖控制器之間傳遞NSArray?
- 16. 在視圖控制器之間傳遞數組數據
- 17. ios在兩個視圖控制器之間傳遞數據而沒有segue?
- 18. 使用'Delegation'在兩個視圖控制器之間傳遞數據:Objective-C
- 19. 不斷在兩個視圖控制器之間傳遞數據iOS
- 20. 數據傳輸之間的兩個視圖控制器
- 21. iOS客觀c在視圖控制器之間傳遞數據
- 22. 在IOS中的視圖控制器之間傳遞數據
- 23. 在相同視圖控制器類之間傳遞數據
- 24. Xcode在視圖控制器之間傳遞數據?
- 25. 在視圖和控制器之間傳遞數據
- 26. 在Xcode中的視圖控制器之間傳遞數據
- 27. mvc在控制器和視圖之間傳遞數據
- 28. 在視圖控制器之間傳遞數據
- 29. Swift 3在視圖控制器之間傳遞數據
- 30. 在視圖控制器之間傳遞數據DidSelectRowsAtIndexPath Storyboards
呃.. UIViewController? – meggar 2012-03-16 17:27:56
是的。從UIViewController到UITableViewController – nemesis 2012-03-16 17:30:35
我不明白爲什麼你需要一個協議,如果viewcontrollers互相引用,你可以只添加一個方法。 – meggar 2012-03-16 17:35:24