1

私はiPhoneプログラミングのビデオチュートリアルを行っています。これは非常にシンプルな電卓アプリです。ある時点で、私は次のメソッドを宣言します。

- (NSString*)calculate:(NSString*)operation withNumber:(NSInteger)number 
{
    return nil; 
}

現時点ではまだ実装されていません。次に、次のコマンドでメソッドを呼び出します。

self.display.text = [self calculate:[sender currentTitle] withNumber:[self.display.text intValue]];

Xcodeはここでエラーを出します:'予期された式'。ここで何が問題になっていますか?そしてwithNumber、その方法には何が含まれていますか?私は理解します

- (NSString*)calculate :(NSString*)operation :(NSInteger)number;

これは、文字列とintをパラメータとして受け取り、文字列を返すメソッドです。ここで何ができるのかわかりませんwithNumber

4

1 に答える 1

3

OK、機能させるには、不要なスペースを削除する必要があります:

- (NSString*)calculate:(NSString*)operation withNumber:(NSInteger)number{
    ...
}

もちろん、メソッドの呼び出しでも。

withNumber とは何ですか?' : これは、Objective-C での複数入力メソッドの外観であり、メソッドの名前は引数の前にありません。メソッドは、実際calculate:withNumber:にはランタイム システムで命名されます。

初心者向けガイドを読むことを強くお勧めします

あなたはできるし- (NSString*)calculate:(NSString*)operation :(NSInteger)number、それから電話をしなけれ[self calculate:myString :myNumber];ばならないだろうが、Objective-C ユーザーの大多数はそれをしないだろう: 言語はあなたのコードを明確にし、どの引数が何であるかを指定する機会を与える: その機会を利用する.

于 2012-08-22T09:37:10.573 に答える