0

NSStringあるものからUIView別のものに使いたいUIView

NSString最初の方法で作成する方法は2つありますUIView

NSString *firstNameTemp =  [[[[html componentsSeparatedByString:@"<first_name>"] objectAtIndex:1] componentsSeparatedByString:@"</first_name>"] objectAtIndex:0];
NSString *lastNameTemp =  @"Михаил";

使用するNSLogと、どちらの場合も同じ行が表示されます。

2012-06-15 16:21:54.778 VKLike[22718:707] –Ь–Є—Е–∞–Є–ї
2012-06-15 16:21:54.790 VKLike[22718:707] –Ь–Є—Е–∞–Є–ї

エンコーディングに問題がありますが、それを使用して作成するUILabelNSString、正しい文字列(Михаил)が表示されます。

第二UIViewに、使用方法の場合

- (void) initPhotoViewWithFrame:(CGRect)frame Image:(UIImage *)image Name:(NSString *)name;

firstNameTempを使用しようとすると、エラーが発生します。

ただし、 lastNameTempを使用してもエラーは発生しません。

NSString問題は、最初の(firstNameTemp)を正常に渡す方法です。

4

1 に答える 1

1

これはメモリ管理エラーです。保持する必要がありますfirstNameTemp(後でリリースする必要があります)。厳密には、これはにも当てはまりますが、文字列リテラル( )はコンパイラによって作成され、プロセスが存続する限り存続するlastNameTempため、バグは表面化しません。@"..."

于 2012-06-15T08:47:21.620 に答える