大家好,我的英语不是很好,所以我会尽我所能来解释我的问题 我是新的可可和Xcode的,所以也许我的问题是很容易,我想如何从另一个类的方法访问类的变量?
我有课,这基本上是一个公式为注册客户端信息,那里我定义了一个方法 - (void)searcht:(NSString *)s;这种方法进行查询到的代码= S
- (void) searcht:(NSString *)s{
PGSQLConnection *connection1= [[PGSQLConnection alloc] init];
NSString *cmd=[[NSString alloc] initWithFormat:@"select * from oc_master_customer where customer_id=%@",s ];
NSLog(@"%@", cmd);
if ([connection1 connect]){
NSLog(@" ENTRO %@", [connection1 lastError]);
PGSQLRecordset *rs1 = [connection1 open:cmd];
if (![rs1 isEOF])
{
NSLog(@" ENTRO 2 %@", [connection1 lastError]);
[matchcode setStringValue:
[[rs1 fieldByName:@"matchcode"] asString]];
NSLog(@" MATCHCODE %@", [matchcode stringValue]);
NSLog(@" MATCHCODE 2 %@", [[rs1 fieldByName:@"matchcode"] asString]);
[name1 setStringValue:
[[rs1 fieldByName:@"name1"] asString]];
[zip setStringValue:
[[rs1 fieldByName:@"zip"] asString]];
[bank_code setStringValue:
[[rs1 fieldByName:@"bank_code"] asString]];
[bank_account setStringValue:
[[rs1 fieldByName:@"bank_account"] asString]];
[bank_name setStringValue:
[[rs1 fieldByName:@"bank_name"] asString]];
[bank_iban setStringValue:
[[rs1 fieldByName:@"bank_iban"] asString]];
[bank_swift setStringValue:
[[rs1 fieldByName:@"bank_swift"] asString]];
[city setStringValue:
[[rs1 fieldByName:@"city"] asString]];
[city_part setStringValue:
[[rs1 fieldByName:@"citypart"] asString]];
[street setStringValue:
[[rs1 fieldByName:@"street"] asString]];
[country setStringValue:
[[rs1 fieldByName:@"country_code"] asString]];
}
[connection1 close];
[rs1 close];}
}
我用这个方法用NSSearchfield数据库它完美地工作,现在我做nsearchfield的一个子类,我想调用此方法,当用户按下输入,我可以访问该方法,但我无法更改IBOutlets的字符串值。我已经宣布IBOutlets为@public。从nssearchfiel子我的代码
-(void)keyUp:(NSEvent*)event
{
if ([event keyCode]==36){
[[self window] selectKeyViewFollowingView:self];
customers* c= [[customers alloc] init];
NSLog(@"Key released: %@",[self stringValue]);
[c searcht:[self stringValue]];
}
}
我的问题是我定义没有做的事情,如果我从其他类 有人调用的方法有一个想法是我必须做的或者我丢失
如果您可以重新格式化代码以使其更具可读性,将会有所帮助。另外,我不太理解你遇到的问题。您能否指出您的示例代码中的哪些内容无法正常工作?具体而言,你可以删除正在工作的代码,使其更清楚什么不是? – Dov 2011-04-28 17:31:54
我的代码工作aat,但是,当我从我的子类searchfield.m中调用我在customers.m中定义的方法时,它无法更改customers.h中定义的IBoutlets的字符串值,所以我想我错过了一些重要的东西关于继承 – 2011-04-28 17:40:04
当您调用'-searcht:'并且它可以工作时,客户实例定义在哪里?你如何得到它? – Dov 2011-04-28 17:45:56