如何在创建方法之外挂起以下结构?我一直试图将它分配给实例变量或属性而没有太多运气。
@property(nonatomic) CTParagraphStyleSetting defaultParagraphSettings;
- (void)someMethod {
CTParagraphStyleSetting settings[] = {
{ kCTParagraphStyleSpecifierAlignment, sizeof(CTTextAlignment), &alignment },
{ kCTParagraphStyleSpecifierLineBreakMode, sizeof(CTLineBreakMode), &lineBreakMode },
};
self.defaultParagraphSettings = settings;
}
self.defaultParagraphSettings = settings;
生成以下错误:
Assigning to 'CTParagraphStyleSetting' (aka 'struct CTParagraphStyleSetting') from incompatible type 'CTParagraphStyleSetting [4]'
我是以正确的方式来做这件事吗?
答案 0 :(得分:2)
错误消息告诉您变量settings
的类型为 array CTParagraphStyleSetting
,属性defaultParagraphSettings
的类型为CTParagraphStyleSetting
。所以你有两个问题,(1)类型不兼容,(2)(目标 - )C不支持数组赋值。
我无法告诉你如何修复它,因为这取决于你想要做什么。但例如,声明:
self.defaultParagraphSettings = settings[0];
应该将数组的第一个元素赋给属性。