1
A
回答
3
這意味着它是一個符合指定協議的通用對象指針。
因此:
@protocol SomeProtocol <NSObject>
- (void)someMethod:(int)a;
@end
@interface SomeClass : NSObject <SomeProtocol>
@end
將允許:
SomeClass *obj = [SomeClass new];
// call method via the protocol interface
id<SomeProtocol> iface = obj;
[iface someMethod:1];
3
它表明一類採用的協議
看到蘋果這裏文檔(以下簡稱 '<>' 內指定):https://developer.apple.com/library/ios/documentation/cocoa/conceptual/programmingwithobjectivec/workingwithprotocols/workingwithprotocols.html
順便說一下,它是阿爾語言功能而不是操作系統。你應該標註你的問題作爲objective-c
而非iOS
2
這是一個類定義(@interface
)或類型定義一個變量的一部分。它是告訴編譯器類/類型實現協議的一種方式。類實現的協議的名稱位於用逗號分隔的三角括號內。
你的情況:
id <protocolName> object;
您聲明瞭一個名爲id
實現該協議protocolName
類型的object
可變器。
協議是一個方法的集合。因此,它允許您發送由protocolName
定義的消息到object
,而不會發出編譯器發出警告。
Apple docs here。
相關問題
- 1. 使用什麼來代表撇號,大於,小於登錄Silverlight的短信
- 2. 小於(<)登錄XSLTForms/XForms
- 3. 用於Java的<String>是什麼?
- 4. 在shell中,「cat> somefilename << EOF」(特別是大於和小於 - 的兩個符號)是做什麼的?
- 5. For Loop。爲什麼它小於<不小於或等於<=?
- 6. 在XPath我爲什麼可以使用大於號>,但不小於-<
- 7. 什麼用於登錄ID?
- 8. 爲什麼Wordpress更改小於和大於符號?
- 9. <html>元素大於<body>
- 10. 大於/小於:<>的Java語法是否是類特定的?
- 11. JS不接受<>大於或小於符號
- 12. Cassandra:包含大於或小於(< and >)
- 13. 如何防止CKEditor被剝離< and >(大於/小於)
- 14. Jquery的模板和小於號(<)或大於符號(>)
- 15. std :: array <T, N>的大小是否保證等於T [N]的大小?
- 16. 什麼是JavaScript相當於寫的「如果</p> <p>不是」
- 17. 爲什麼div大於字體大小?
- 18. 沒有參數的`<<(雙小於)是什麼意思?
- 19. 爲什麼<nobr>不適用於Foundation小部件?
- 20. 什麼是<#= #>
- 21. 什麼是<%= ... %>
- 22. <required>和<rtexprvalue>用於什麼?
- 23. 什麼是TWIG相當於<?php the_field('field_name'); ?>是?
- 24. 爲什麼https只用於登錄?
- 25. 對於web.xml中的servlet定義,<enabled> false</enabled>是什麼意思?
- 26. 人<Person>,什麼是<Person>?
- 27. 登錄然後POST
- 28. 基於窗口大小添加<br><br>此標籤
- 29. 什麼是ObjectiveC中的retainCount?
- 30. SQL選擇最大,然後顯示值小於最大
在Objective C或Swift中? – 2014-10-07 09:29:42