0

作成されたメソッドの外で次の構造体に固執するにはどうすればよいですか? 私はそれをインスタンス変数またはプロパティに割り当てようとしましたが、うまくいきませんでした。

@property(nonatomic) CTParagraphStyleSetting defaultParagraphSettings;

- (void)someMethod {
    CTParagraphStyleSetting settings[] = {
        { kCTParagraphStyleSpecifierAlignment, sizeof(CTTextAlignment), &alignment },
        { kCTParagraphStyleSpecifierLineBreakMode, sizeof(CTLineBreakMode), &lineBreakMode },
    };
    self.defaultParagraphSettings = settings;
}


self.defaultParagraphSettings = settings;次のエラーが生成されます。

互換性のないタイプ 'CTParagraphStyleSetting [4]' から 'CTParagraphStyleSetting' (別名 'struct CTParagraphStyleSetting') に割り当てています


私はこれを正しい方法で行っていますか?

4

1 に答える 1

2

エラー メッセージは、変数settingsの型が の配列CTParagraphStyleSettingあり、プロパティdefaultParagraphSettingsの型 が であることを示していますCTParagraphStyleSetting。したがって、(1) 型に互換性がなく、(2) (Objective-)C は配列の代入をサポートしていないという 2 つの問題があります。

何をしようとしているのかにもよるので、修正方法を教えることはできません。しかし、たとえば、次のステートメントは次のとおりです。

self.defaultParagraphSettings = settings[0];

配列の最初の要素をプロパティに割り当てる必要があります。

于 2013-08-08T00:26:59.223 に答える