だから私が持っているのは、別のクラスでアクセスできるようにしたい NSString です。私の RootViewController.h には次のものがあります。
@interface RootViewController : UITableViewController
+(NSMutableString*)MY_STR;
@property (nonatomic, readwrite, retain) NSString *MY_STR;
@end
私の RootViewController.m で:
static NSString* MY_STR;
@synthesize MY_STR;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//The NSDictionary and NSArray items (listOfItems, etc.) are called at top so don't worry about them
NSDictionary *dictionary = [listOfItems objectAtIndex:indexPath.section];
NSArray *array = [dictionary objectForKey:@"MovieTitles"];
MY_STR = [array objectAtIndex:indexPath.row];
}
+(NSString*)MY_STR{
return MY_STR;
}
- (void)dealloc {
[MY_STR release];
[super dealloc];
}
そして今、私の NewViewController クラスで NSString MY_STR に書き込みたいので、.m に次のように記述します。
#import "RootViewController.h"
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSDictionary *dictionary = [listOfItems objectAtIndex:indexPath.section];
NSArray *array = [dictionary objectForKey:@"MovieTitles"];
[RootViewController MY_STR] = [array objectAtIndex:indexPath.row];
}
しかし、この行では:
[RootViewController MY_STR] = [array objectAtIndex:indexPath.row];
次のエラーが表示されます: 「「読み取り専用」への割り当ては、目的の c メッセージの結果を返すことはできません」
どんな助けでも素晴らしいでしょうありがとう!