如何在创建方法之外挂起以下结构?我一直在尝试将它分配给实例变量或属性,但运气不佳。
@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]'
我这样做的方式正确吗?
最佳答案
错误消息告诉您变量settings
是CTParagraphStyleSetting
的array 类型,属性defaultParagraphSettings
属于 CTParagraphStyleSetting
类型。所以你有两个问题,(1) 类型不兼容,(2) (Objective-)C 不支持数组赋值。
我无法告诉您如何修复它,因为这取决于您尝试做什么。但是例如声明:
self.defaultParagraphSettings = settings[0];
应该将数组的第一个元素分配给属性。
关于ios - 坚持一个结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18115842/