objective-c – NS_DESIGNATED_INITIALIZER预期:(冒号)

objective-c – NS_DESIGNATED_INITIALIZER预期:(冒号),第1张

概述我正在尝试声明一个这样的指定的初始化器: - (instancetype)initWithDelegate:(id <MyDelegate>)delegate NS_DESIGNATED_INITIALIZER; 但是它显示了我这个编译错误: Expected ':' 有趣的是,当我尝试这样写(参考链接:Adopting Modern Objective-C) – - (instancetype) 我正在尝试声明一个这样的指定的初始化器:

- (instancetype)initWithDelegate:(ID <MyDelegate>)delegate NS_DESIGNATED_INITIAliZER;

但是它显示了我这个编译错误:

Expected ':'

有趣的是,当我尝试这样写(参考链接:Adopting Modern Objective-C) –

- (instancetype)init NS_DESIGNATED_INITIAliZER;

它显示这个错误:

Expected ';' after method prototype.

关于如何正确使用NS_DESIGNATED_INITIAliZER的任何想法?

解决方法 NS_DESIGNATED_INITIAliZER宏未在Xcode 5的库标题中定义 – 您需要使用Xcode 6才能使用。请注意您的链接说“预发行”。

宏以下列方式定义(引用NSObjCRuntime.h)

#ifndef NS_DESIGNATED_INITIAliZER#if __has_attribute(objc_designated_initializer)#define NS_DESIGNATED_INITIAliZER __attribute__((objc_designated_initializer))#else#define NS_DESIGNATED_INITIAliZER#endif#endif

注意你仍然可以使用

- (instancetype)initWithDelegate:(ID <MyDelegate>)delegate __attribute__((objc_designated_initializer));

在Xcode 5中,您可以将该宏显式添加到您的预编译头。

总结

以上是内存溢出为你收集整理的objective-c – NS_DESIGNATED_INITIALIZER预期:(冒号)全部内容,希望文章能够帮你解决objective-c – NS_DESIGNATED_INITIALIZER预期:(冒号)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1041118.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存