抓住一个结构

时间:2013-08-08 00:05:54

标签: ios objective-c ios5 struct

如何在创建方法之外挂起以下结构?我一直试图将它分配给实例变量或属性而没有太多运气。

@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]'


我是以正确的方式来做这件事吗?

1 个答案:

答案 0 :(得分:2)

错误消息告诉您变量settings的类型为 array CTParagraphStyleSetting,属性defaultParagraphSettings的类型为CTParagraphStyleSetting 。所以你有两个问题,(1)类型不兼容,(2)(目标 - )C不支持数组赋值。

我无法告诉你如何修复它,因为这取决于你想要做什么。但例如,声明:

self.defaultParagraphSettings = settings[0];

应该将数组的第一个元素赋给属性。