2011-02-07 8 views
0

私は目的cに新しいです。目的cのグローバル整数の値を変更しようとしていますが、コンパイラは次のメッセージで不平を言っています。代入のオペランド "を参照してください。ここでグローバル整数の代入 - 代入の左辺のオペランドとして必要な左辺値

は、コードの行です:

[[UIApplication sharedApplication].delegate someNSIntegerValue] = myNSIntegerValue; 

私はこれへの答えは、私は私が間違っているの何のための答えを見つけることができないということで非常に簡単な簡単です確信しています。

+0

「**」の先頭には何がありますか? –

+0

Anders K:質問者は何らかの理由でそれを大胆にしたかったと思います。私はそれを編集します。 –

答えて

4

Thomson Cornerは既に言っているように、おそらくsomeNSIntegerValueがゲッターです。これがうまくいけば、明らかにその間違っていることになり

[someInstance someMethod] = someValue; 

またはC

someFunction() = someValue; 

中:あなたは何をしているか、それはこれに変換するので、しかし、それはなかった場合でも、おそらく、そこに動作することはできません。あなたは試みることができるもの:

[[UIApplication sharedApplication].delegate setSomeNSIntegerValue: myNSIntegerValue]; 

または財産っぽい道(場合には、あなたが@ 1をsynthesize'd):

[UIApplication sharedApplication].delegate.someNSIntegerValue = myNSIntegerValue; 

を最後の例は、実際には同じことを行う必要があることその前に1つ。

+0

それは治療に感謝しました – jclc

+0

プロパティが '@ synthesize'dであるかどうかは関係ありません。プロパティはヘッダー内で宣言する必要があります。あなたは、正しいセッターが明示的に宣言されている限り、 '@ property'なしでそれを行うことさえできるかもしれません。 –

0

someNSIntegerValueは、AppDelegateに配置したプロパティのゲッターメソッドです。代わりにsetSomeNSIntegerValueを試してください。

+0

ご返信ありがとうございます。 @synthesizeを使用してプロパティを作成しましたが、まだsetSomeNSIntegerValueを呼び出すことができますか? – jclc

+0

うん、 '@ property'と' @ synthesize'でプロパティを作成するのは、プロパティ属性を 'readonly'に設定しない限り、setSomeNSIntegerValueを使う方法です。 –

関連する問題