问题:'自我'和'自我'有什么区别?如何在函数实现中使用“Self”当我在超类中定义一个函数来返回子类的类型时?
我应该返回代表函数调用的自我型的什么类型的?是基本类型NSObject的或不?
问题:'自我'和'自我'有什么区别?如何在函数实现中使用“Self”当我在超类中定义一个函数来返回子类的类型时?
我应该返回代表函数调用的自我型的什么类型的?是基本类型NSObject的或不?
你应该用self
,不Self
。
另外,正如其他人所指出的,请尝试self.dynamicType
。
此外,我会建议你谷歌的“如何检查类型Swift”。
希望这有助于:)
报价从这个链接:Distinction in Swift between uppercase "Self" and lowercase "self"
“自指当前类型的‘东西’里面的协议(无论是符合协议)的对于它的使用示例,请参阅协议func返回自我
我发现的唯一官方文档是在Swift编程语言中的协议相关类型声明中,令人惊讶的是没有记录在协议部分或嵌套类型“。
嘿,在那里,看OP的问题是两者之间的区别是什么,而不是使用哪个。因此,请在您的帖子中包含实际的问题答案。 – LinusGeffarth
也,建议谷歌的东西应该是一个评论,而不是一个答案:) – Hacketo
那么,有时,这是唯一的答案,你可以给当答案已经可以在网上... ... – 2015-12-03 14:26:52
请张贴实际的代码,而不是截图。详细信息请参见此处(http://meta.stackoverflow.com/a/285557/1402846)。谢谢。 – Pang
'Self'仅用于通用约束。你可能想要做的是使用'self.dynamicType'。 – fluidsonic
你会返回类似'self.dynamicType.init()'的东西。但是你只能调用标记为'required'的初始化器。 – fluidsonic