0

質問を繰り返したら申し訳ありませんが、新しいので、応答方法などについてあなたのルールを学ぶ必要があります. あなたの助けのおかげで、私はこの時点に到達しました: UIView の AddButton を使用して、10 個の異なるボタンを作成できます。アプリケーションを再度閉じると、10 個のボタンが消えます。その後、ユーザーは 10 個のボタンを再作成する必要があります。ユーザーが作成したボタンを保存するにはどうすればよいですか?

他の日付を使用する必要がある場合に役立つ可能性があるため、この方法をより適切に使用します

ユーザーデータをファイルに保存しました: はい

しかし、行かないでください!

アプリケーションを閉じて再起動すると、ボタンが再表示されません

エラーはどこですか?

この方法でファイル .h を編集します

{
    IBOutlet UIButton * button2;
    IBOutlet UIButton * Button1;
    IBOutlet UIButton * Button2;
    IBOutlet UIButton * Button3;
    }
    @property (nonatomic, strong) NSArray * myArray;
    @property (nonatomic, retain) UIButton * Scenario1;
    @property (nonatomic, retain) UIButton * Scenario2;
    @property (nonatomic, retain) UIButton * Scenario3;
    - (IBAction) Button1: (UIButton *) sender;
    - (IBAction) Button2: (UIButton *) sender;
    - (IBAction) Button3: (UIButton *) sender;

オンファイル .m

     @synthesize myArray;
     @synthesize Button1;
     @synthesize Button2;
     @synthesize Button3;

     -(void) AddButton: (UIButton *) sender {
     CountButton + +;
     if (CountButton <11) {
     button2 = [UIButton buttonWithType: UIButtonTypeCustom];
     button2.frame = CGRectMake (20, 80, 120, 80); 
     UIImage *ButtonImage = [UIImage imageNamed: @ "image"];
     [Button2 setBackgroundImage: ButtonImage forState: UIControlStateNormal]; NSString * buttonTitle = [NSString stringWithFormat: @ "Button% d", CountButton];
     [Button2 setTitle: buttonTitle forState: UIControlStateNormal];
     NSString *selectorName = [NSString stringWithFormat: @ "% d ButtonAdd:" CountButton];
     [Button2 addTarget: self action: NSSelectorFromString (selectorName) forControlEvents: UIControlEventTouchUpInside];
     NSArray * = documentDirectories NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
     NSMutableString * documentDirectory = [documentDirectories objectAtIndex: 0];
     NSArray * myArray = [[NSArray alloc] initWithObjects: Button1, Button2, Button3, nil];
     NSString * filePath = [documentDirectory stringByAppendingPathComponent: @ "UserButtons"];
     BOOL FileError = [myArray writeToFile: filePath atomically: YES];
     NSLog (@ "User date to file successful:% @", (FileError? @ "Yes": @ "No"));
     }
     }

    -(void) viewDidLoad {
    [Super viewDidLoad];
    NSArray * = documentDirectories NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
    NSMutableString * documentDirectory = [documentDirectories objectAtIndex: 0];
    NSString * myPath = [documentDirectory stringByAppendingPathComponent: @ "UserButtons"];
    NSArray * fileArray = [[NSArray alloc] initWithContentsOfFile: myPath];
    if ([fileArray count]> 0)
    {
     // Place your buttons back into the view.
     [Self.view addSubview: [fileArray objectAtIndex: 0]];
    }
    }
4

1 に答える 1

0

あなたが書いたものにはファイル名がありません。

次のような方法でデータを保存してみてください:

NSString *myFile = @"myFile.plist";
NSArray *filePaths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory,  NSUserDomainMask, YES);
NSString *documentsDirectory = [filePaths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:myFile];
[myArray writeToFile:path atomically:YES];
于 2013-06-19T12:22:22.790 に答える