我有一個字符串聲明爲這種如何更新一個字符串變量與另一個字符串變量
NSString *str = [[NSString alloc] initWithFormat:@"I require an average GPA of at least %.2f to achieve my Goal of %@ this semester - NTU GPA Calculator", pgagoal,(NSString *)[myPickerDelegate.myGoal objectAtIndex: [myPicker selectedRowInComponent:0]]];
我宣佈一個全局變量
NSStrinng *tweetString
,並希望將字符串str中複製到tweetString 。我應該如何複製它?因爲兩者都是三分球,我想:
tweetString = str;
或
tweetString = [NSString stringWithFormat:@"%@", str];
但它合乎理工作。
編輯: 我的代碼:
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex1{
NSLog(@"buttonindex 1 clicked");
NSString *str2;
NSLog(@"tweetString before if: %@", tweetString);
if (pgagoal < 0) {
NSString *str2 = [[NSString alloc] initWithFormat:@"Confirm, Guarantee, Chop and Stamp! I can achieve my Goal of %@ this semester - NTU GPA Calculator", (NSString *)[myPickerDelegate.myGoal objectAtIndex: [myPicker selectedRowInComponent:0]]];
NSLog(@"tweetString: < 0 %@", str2);
}
else if (pgagoal > 5){
NSString *str2 = [[NSString alloc] initWithFormat:@"Its impossible!, i need an average GPA of at least %.2f to achieve %@ this semester - NTU GPA Calculator", pgagoal,(NSString *)[myPickerDelegate.myGoal objectAtIndex: [myPicker selectedRowInComponent:0]]];
NSLog(@"tweetString: >5 %@", str2);
}
else{
NSString *str2 = [[NSString alloc] initWithFormat:@"I require an average GPA of at least %.2f to achieve my Goal of %@ this semester - NTU GPA Calculator", pgagoal,(NSString *)[myPickerDelegate.myGoal objectAtIndex: [myPicker selectedRowInComponent:0]]];
NSLog(@"tweetString with else: %@", str2);
}
//did i update tweetString correctly?
tweetString = [NSString stringWithString:str2]; <-- stop working from this point EXC_BAD_ACCESS
NSLog(@"tweetString after if else: %@", tweetString);
[self sendEasyTweet:tweetString];
NSLog(@"tweetString: %@", tweetString);
[str2 release];
}
- (void)sendEasyTweet {
// Set up the built-in twitter composition view controller.
TWTweetComposeViewController *tweetViewController = [[TWTweetComposeViewController alloc] init];
// Set the initial tweet text. See the framework for additional properties that can be set.
[tweetViewController setInitialText:tweetString];
// Create the completion handler block.
[tweetViewController setCompletionHandler:^(TWTweetComposeViewControllerResult result) {
switch (result) {
case TWTweetComposeViewControllerResultCancelled:
// The cancel button was tapped.
NSLog(@"Tweet cancelled");
break;
case TWTweetComposeViewControllerResultDone:
// The tweet was sent.
NSLog(@"Tweet done");
break;
default:
break;
}
// Dismiss the tweet composition view controller.
[self dismissModalViewControllerAnimated:YES];
}];
// Present the tweet composition view controller modally.
[self presentModalViewController:tweetViewController animated:YES];
}
EDIT2: Debbuger輸出:
2011-12-29 09:54:22.963 GPA[487:707] buttonindex 1 clicked
2011-12-29 09:54:22.966 GPA[487:707] tweetString before if: NTU GPA Calculator <-- i init the string at viewDidLoad
2011-12-29 09:54:22.968 GPA[487:707] tweetString with else: I require an average GPA of at least 1.56 to achieve my Goal of Third Class Honors this semester - NTU GPA Calculator
(gdb)
EDIT3: 我tweetString聲明鑑於或者Controller.h作爲
@interface GPAMainViewController : UIViewController <GPAFlipsideViewControllerDelegate>{
UIPickerView * myPicker;
GPAAppDelegate * myPickerDelegate;
IBOutlet UITextField *txtGPA;
IBOutlet UITextField *txtTotalAU;
IBOutlet UITextField *txtRemainingAU;
double pgagoal;
NSString *tweetString;
}
@property (nonatomic, retain) IBOutlet UIPickerView * myPicker;
@property (nonatomic, retain) IBOutlet GPAAppDelegate *myPickerDelegate;
@property (nonatomic, retain) UITextField *txtGPA;
@property (nonatomic, retain) UITextField *txtTotalAU;
@property (nonatomic, retain) UITextField *txtRemainingAU;
@property (nonatomic, retain) NSString *tweetString;
-(IBAction)finishEditing:(id)sender;
-(IBAction)calculateGoal: (id) sender;
-(IBAction)showInfo:(id)sender;
-(IBAction)nextField:(id)sender;
-(IBAction)resetField:(id)sender;
-(void)sendEasyTweet:(id)sender;
這兩個任務應該工作。它以什麼方式不起作用?編譯錯誤? – 2011-12-29 01:13:33
嗨mattias,我有一段我的代碼加上我收到的錯誤的帖子.. – at0m87 2011-12-29 01:23:38
這是作業,是嗎? – 2011-12-29 01:32:06