2012-03-18 10 views
0

AppDelegateは、文字列:EXC_BAD_ACCESS

をユーザーというパラメータがあり、ユーザーが& DepartmentIdのはuserIdと呼ばれる2つのパラメータがあります。

私はこのコードのあるエラーEXC_BAD_ACCESSがあり、私のWebServiceがASIHttpRequest APIを使用アクセスしたい

が、私は、要求を送信する前に、

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate]; 
    NSString *userId = appDelegate.user.userId; 
    NSString *departmentId = appDelegate.user.departmentId; 
    NSLog(@"xxxxx:%@",userId);//this can log 29 
    NSLog(@"xxxxx:%@",departmentId);//this can log 17 
    NSString *URL = [NSString stringWithFormat:@"https://xxx.xxx.xx.xx/FMS/Pages/Service/FMService.svc/GetAnnouncement?userId=%@&departmentId=%@&pageIndex=%@&pageSize=%@",userId,departmentId,1,10]; ***//ERROR*** 

のuserIdの値は、が29、departmentIdの値が17、

の場合、コードを次のように変更します。

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://xxx.xxx.xx.xx/FMS/Pages/Service/FMService.svc/GetAnnouncement?userId=%@&departmentId=%@&pageIndex=%@&pageSize=%@",userId,departmentId,1,10]];//also the same error 

は、同じエラーが

は...もありますし、私はなぜ知っているので、plsはこれで私を助けて、ありがとういけません。

答えて

0

最後の二つの引数は、%d

[NSString stringWithFormat:@"https://xxx.xxx.xx.xx/FMS/Pages/Service/FMService.svc/GetAnnouncement?userId=%@&departmentId=%@&pageIndex=%d&pageSize=%d",userId,departmentId,1,10] 
+0

...私はそんなに愚かな間違いをした!ありがとう、それは今OKです! – jxdwinter

1

序数10進数を出力/書式設定するには、最後の2つの書式指定子を%dにする必要があります。 %@はオブジェクトを予期し、-descriptionメソッドを呼び出そうとします。通常の数値(1や17など)はオブジェクトポインタとして失敗します。なぜ伐採がうまくいったのか驚いています。

だから、正しいフォーマット文字列は次のようになります。stringWithFormat:

[NSString stringWithFormat:@"https://xxx.xxx.xx.xx/FMS/Pages/Service/FMService.svc/GetAnnouncement?userId=%@&departmentId=%@&pageIndex=%d&pageSize=%d",userId,departmentId,1,10]; 
+0

このような愚かな過ちを使用する代わりに、書式指定子%@を使用してはならないため、オブジェクトではありません!ありがとう、良い一日を! – jxdwinter