3

YAJLiOS を使用する GSTwitPicEngine クラスを使用して、TwitPic でテキスト付きの画像を Twitter に投稿しようとしています。

そのため、プロジェクトに YAJLiOS フレームワークを追加すると、YAJLiOS フレームワークにあるファイル「YAJLParser.h」でこのエラー (「割り当て」と「弱い」は相互に排他的) が発生します。次の行にエラーを表示します-

@property (assign, nonatomic) __weak id <YAJLParserDelegate> delegate;

__weak を削除すると、Apple Mach-O Linker (Id) Error になります。

助けてください。このちょっとしたエラーの処理方法。理由がわかりません。

4

3 に答える 3

1

おそらくあなたは今までにそれを理解しました、とにかくここに私がこのエラーを取り除く方法があります:

@property (assign) __unsafe_unretained id<YAJLParserDelegate> delegate;   

.hコード内の他のすべての宣言delegate(存在する場合)が、__unsafe_unretainedたとえば@privateセクションにあることを確認してください。

__unsafe_unretained id<YAJLParserDelegate> delegate;
于 2012-06-05T12:01:08.610 に答える
1

愚かな私...

試す

@property (unsafe_unretained, nonatomic) id <YAJLParserDelegate> delegate;
于 2012-04-30T02:36:37.567 に答える
0

おそらく既にご存じのとおり、assignweakは同じものではありません ... 機能的には非常に似ていますが、weak ははるかに洗練されており、クラッシュを回避するために破棄されたオブジェクトへの参照を巧妙に無効にします (とりわけ vis 保持サイクル)。 .

とにかく - どうすればいいですか?私の最善の推測は、 ARCの下位互換性レガシー修正を引き出してみることです... _weak置き換えます_unsafe_unretainedで、それがどうなるか見てみましょう。

于 2012-04-27T14:27:10.420 に答える