1

iOS 3.0で開発したコードをiOS 5.0で動作するように変更したい。

しかし、問題はこれですtag。iPhone のコントロールのプロパティは iOS 5.0 では値を取得しませんが、iOS 3.0 ではとしてNSString割り当てることに関連する問題はありません。tagNSString

iOS 5.0 で次の警告が表示されます。

lview.tag=@"lblPatientDetail";

"incompatible pointer to integer conversion assigning to integer'(aka 'int') from NSString" 

この警告はプロジェクト全体に存在し、多数の問題を引き起こしています。

では、iOS 5.0NSStringで値として割り当てる方法はありますか?tag

4

4 に答える 4

1

オブジェクトを文字列で認識したい場合は、代わりに NSDictionary を使用してください。NSDictionary の使用方法について、以下に例を示します。

NSDictionary *dictionary;
NSArray *keys = [NSArray arrayWithObjects:@"key1", @"key2", @"key3", nil];

NSArray *objects = [NSArray arrayWithObjects:@"How", @"are", @"you", nil];

dictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];

for (id key in dictionary) {

    NSLog(@"key: %@, value: %@", key, [dictionary objectForKey:key]);

}
于 2012-06-29T03:50:05.483 に答える
1

UIViewタグプロパティは NSInteger であるため、文字列値を割り当てることはできません。問題の即時の解決策は、タグに文字列ではなく整数値を使用することです。

于 2012-04-25T05:15:30.887 に答える
1

具体的に文字列を探している場合、これを行うには2つの方法があります(この方法のいずれかで実際にintを使用する必要があります)-

  1. これらの文字列値の列挙型を作成してから、列挙型を使用します。

  2. intValue メソッドを使用して、文字列を int に変換できます。

于 2012-04-25T05:16:43.823 に答える
0

micro を追加して NSInteger を保存し、micro を文字列として使用します。

于 2012-04-25T05:19:46.793 に答える