Hey all,
I am trying to accomplish something very simple yet getting an error and it's driving me nuts.
here is what I am doing:
Function 1:
-(id)initWithText:(NSString *)text1 :(NSString *)text2 :(NSString *)text3 :(NSString *)text4 :(NSString *)text5
{
here I do the assignment. I have not initialized the NSString date, projectName, task, duration and comment, but I don't see that causing any trouble.
date=text1;
projectName=text2;
task=text3;
duration=text4;
if ([text5 isEqualToString:@"Add Comment"]==TRUE || [text5 isEqualToString:@""]==TRUE)
{
comment=@"No Comment";
}
else {
comment=text5;
}
date, duration, task ,projectname, comment are all NSString type.
This function gets called in a different viewController using the statement:
Function1 Call:
[self.summaryViewController initWithText:self.dateDisplay.text :self.projectNameDisplay.text:self.taskDisplay.text:self.durationDisplay.text:commentText.text];
where dateDisplay, projectNameDisplay, taskDisplay, durationDisplay are all UILabels and commentText is a UITextView
now I try to save the values captured through the function into a database using another function.
Function2:
-(void) insertValues:(NSString *)text1 :(NSString *)text2 :(NSString *)text3 :(NSString *)text4 :(NSString *)text5
{
if([self openDB]==TRUE)
{
NSString *sql = [NSString stringWithFormat:@"INSERT INTO mastertable(_date,_projectName,_task,_duration,_comment,_status) VALUES ('%@','%@','%@','%@','%@','Pending');",text1, text2, text3, text4, text5];
char *err;
NSLog(sql);
if(sqlite3_exec(database,[sql UTF8String], NULL, NULL, &err) !=SQLITE_OK)
{
NSAssert(0, @"error inserting values into table");
sqlite3_close(database);
}
else
{
NSLog(@"Entry Made");
sqlite3_close(database);
}
}
}
Function2 call:
[master insertValues:date :projectName :task :duration :comment];
My insert into table query, when printed in NSLog, throws up this:
INSERT INTO mastertable(_date,_projectName,_task,_duration,_comment,_status) VALUES (' Aug 26, 2010',' Staffing',' Mentoring',' 01:01',
'( > )'
,'Pending');
I think it's because of the conversion of UITextView to NSString
Please help
Sayeed
UITextViews文本属性具有NSString作为返回值,因此不应该是问题
Make sure the UITextField
is properly initialized. Looks like it is pointing somewhere into memory.
@ tob,
Hey, tob I wrote the wrong code. Actually, I am not doing any casting; I am just initializing. And here is the code:
I have a UITextView commentText.text and I am extracting it's contents once the user feeds it to store it in NSString *str. NSString *str= commentText.text;
which is behaving horrendously. When I try retrieving the value stored in str i get weird messages like "CA Layer 1048w@#" and when I insert breakpoints to check it says variable not a CFString.
However, if I create another UITextView commentText2.text just like the first one and set its size to zero as I don't want it on my screen and I do this,
commentText2.text=commentText.text;
and pass commentText2.text as the argument for my insert query, the value gets saved in the database right and is retrieved right. Have I expressed myself?
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.