0

だから私が持っているのは、別のクラスでアクセスできるようにしたい 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 メッセージの結果を返すことはできません」

どんな助けでも素晴らしいでしょうありがとう!

4

1 に答える 1