2012-03-28 18 views
3

で私は、iOS開発の初心者ですので、誤差は次のように、コードは次のようであるとき、私は何の手がかりを見つけていない:予想外の「@」プログラム

- (void)postToWall { 

    FBStreamDialog *dialog = [[[FBStreamDialog alloc] init] 
           autorelease]; 
    dialog.userMessagePrompt = @"Enter your message:"; 
    dialog.attachment = [NSString 
         stringWithFormat:@"{\"name\":\"Facebook Connect for 
         iPhone\",\"href\":\"http://developers.facebook.com/ 
         connect.phptab=iphone\",\"caption\":\"Caption\", 
         \"description\":\"Description\",\"media\":[{\"type\": 
         \"image\",\"src\":\"http://img40.yfrog.com/img40/ 
         5914/iphoneconnectbtn.jpg\",\"href\": 
         \"http://developers.facebook.com/connect.php? 
         tab=iphone/\"}],\"properties\":{\"another link\": 
         {\"text\":\"Facebook home page\",\"href\": 
          \"http://www.facebook.com\"}}}"]; 
         [dialog show]; 

    } 

私はFacebookの程度オンラインチュートリアルから学ぶしようとしています接続するので、私はコードでこのエラーを持って、ファイルが含まれています:

輸入「FBSession.h」 輸入「FBLoginButton.h」

あなたは、これは問題になることができると思いますか?

+0

あなたが正確なエラーメッセージ、行番号、およびそれらのラインの周りのコードを提供する場合、それが役立つだろう。 –

答えて

3

いずれの単一の行に文字列を書き込み、または各ラインの終わりと始まりに"を追加します。

dialog.attachment = [NSString 
       stringWithFormat:@"{\"name\":\"Facebook Connect for" 
       "iPhone\",\"href\":\"http://developers.facebook.com/" 
       "connect.phptab=iphone\",\"caption\":\"Caption\"," 
       "\"description\":\"Description\",\"media\":[{\"type\":" 
       "\"image\",\"src\":\"http://img40.yfrog.com/img40/" 
       "5914/iphoneconnectbtn.jpg\",\"href\":" 
       "\"http://developers.facebook.com/connect.php?" 
       "tab=iphone/\"}],\"properties\":{\"another link\":" 
       "{\"text\":\"Facebook home page\",\"href\":" 
        "\"http://www.facebook.com\"}}}"]; 

また、この場合には、あなたがすることができ、stringWithFormatを使用する必要はありませんのでご注意

dialog.attachment = @"{\"name\":\"Facebook Connect for" 
      "iPhone\",\"href\":\"http://developers.facebook.com/" 
      "connect.phptab=iphone\",\"caption\":\"Caption\"," 
      "\"description\":\"Description\",\"media\":[{\"type\":" 
      "\"image\",\"src\":\"http://img40.yfrog.com/img40/" 
      "5914/iphoneconnectbtn.jpg\",\"href\":" 
      "\"http://developers.facebook.com/connect.php?" 
      "tab=iphone/\"}],\"properties\":{\"another link\":" 
      "{\"text\":\"Facebook home page\",\"href\":" 
      "\"http://www.facebook.com\"}}}"; 
+0

私はあなたの方法と、それを使用おかげさまで、ありがとうございました。 –

2

あなたが投稿したコードで明らかに間違っているのは、長い文字列の途中にあるすべての改行だけです。また、stringWithFormatを使用する必要はありません。また、最初の 'href'に '?'がありません。 GETクエリから取得します。だから、これを試してみて、何が起こるかを参照してください。

dialog.attachment = @"{\"name\":\"Facebook Connect for iPhone\",\"href\":\"http://developers.facebook.com/connect.php?tab=iphone\",\"caption\":\"Caption\",\"description\":\"Description\",\"media\":[{\"type\":\"image\",\"src\":\"http://img40.yfrog.com/img40/5914/iphoneconnectbtn.jpg\",\"href\":\"http://developers.facebook.com/connect.php?tab=iphone/\"}],\"properties\":{\"another link\":{\"text\":\"Facebook home page\",\"href\":\"http://www.facebook.com\"}}}"; 

またはそれ以上を、まだ、自分のNSString Sにあなたのキーと値のすべてを抜け出すとstringWithFormatを使用して戻って一緒に長い文字列を置きます。あるいは、もっとうまくいって、メモリ内のすべてを作成し、NSJSONSerializationを使用してJSON文字列を作成してください。はるかにクリーンでエラーを起こしにくいでしょう。

+0

ありがとうございました! –

+0

あなたはようこそ。あなたは左のチェックマークをクリックして回答を受け入れることができます – QED

-1

私は間違っているかもしれないが、私はfacebookがそれらのキーのそれぞれの値の辞書を除いていると思う。

サンプルコードは非常によく、よく文書化されています。

文字列の開始と終了わたってるしき」で「交換してみてください。