2015-12-03 21 views
-2

enter image description hereswift'自我'和'自我'有什么区别?

问题:'自我'和'自我'有什么区别?如何在函数实现中使用“Self”当我在超类中定义一个函数来返回子类的类型时?

我应该返回代表函数调用的自我型的什么类型的?是基本类型NSObject的或不?

+4

请张贴实际的代码,而不是截图。详细信息请参见此处(http://meta.stackoverflow.com/a/285557/1402846)。谢谢。 – Pang

+0

'Self'仅用于通用约束。你可能想要做的是使用'self.dynamicType'。 – fluidsonic

+0

你会返回类似'self.dynamicType.init()'的东西。但是你只能调用标记为'required'的初始化器。 – fluidsonic

回答

0

你应该用self,不Self

另外,正如其他人所指出的,请尝试self.dynamicType

此外,我会建议你谷歌的“如何检查类型Swift”。

希望这有助于:)

报价从这个链接:Distinction in Swift between uppercase "Self" and lowercase "self"

“自指当前类型的‘东西’里面的协议(无论是符合协议)的对于它的使用示例,请参阅协议func返回自我

我发现的唯一官方文档是在Swift编程语言中的协议相关类型声明中,令人惊讶的是没有记录在协议部分或嵌套类型“。

此外:https://forums.developer.apple.com/thread/5479

+0

嘿,在那里,看OP的问题是两者之间的区别是什么,而不是使用哪个。因此,请在您的帖子中包含实际的问题答案。 – LinusGeffarth

+0

也,建议谷歌的东西应该是一个评论,而不是一个答案:) – Hacketo

+0

那么,有时,这是唯一的答案,你可以给当答案已经可以在网上... ... – 2015-12-03 14:26:52