我有一個webservice和ios應用程序。我用ASIHTTPRequest.h, ASIFormDataRequest.h
標題來處理連接到我的PHP腳本/ MySQL數據庫如何在If語句中使用NSMutableString作爲條件
在我需要發送多個請求給我的web服務和處理每個響應viewcontrollers之一,需要的ViewController的觀點和方法,每個請求後刷新。
ASIHTTPRequest
只有一個(void)requestFinished:(ASIHTTPRequest *)request
事件,所以我需要處理的(void)requestFinished:(ASIHTTPRequest *)request
在我的塊反應來處理我想出了主意,也許我可以使用一個字符串,當請求完成,我可以在if語句中使用此字符串請求我寫了下面的代碼,但我的條件我requestfinish方法if ([checkRequest rangeOfString:@"like"].location != NSNotFound)
不工作
VoteMe.h
@interface VoteMe : UIViewController<UITextFieldDelegate>{
NSMutableString *checkRequest;
}
@property (retain, nonatomic) NSMutableString *checkRequest;
Vote.m
@synthesize checkRequest;
- (void)viewDidLoad
{
[self showPicture];
}
-(void)showPicture
{
checkRequest =[NSMutableString stringWithString:@"showPicture"];
//request a random picture url, from server
NSURL *url = [NSURL URLWithString:showpicture];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setDelegate:self];
[request startAsynchronous];
}
-(IBAction)voteLike:(id)sender{
checkRequest =[NSMutableString stringWithString:@"like"];
NSURL *url = [NSURL URLWithString:voteup];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setDelegate:self];
[request startAsynchronous];
[self showPicture];
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
if ([checkRequest rangeOfString:@"like"].location != NSNotFound) {
//do smth
}
if ([checkRequest rangeOfString:@"showPicture"].location != NSNotFound) {
//do someth else
}
}
以上代碼的問題,當-(IBAction)voteLike:(id)sender
被調用時應該改變的checkRequest
字符串「喜歡」所以當ASIFormDataRequest
響應到達時,如果條件可以正常工作
在破發點,我看到checkRequest Variable is not a CFString
當我使用的Nsstring
代替NSMutableString
它是同樣的結果
我知道我需要retain
字符串,然後release
事後但我不使用alloc
應該還是需要retain/release
我該如何實現我的目標?要麼有更好的解決方案來檢查陳述或修復NSString
和NSmutableString
以上問題?