.hでNSArrayを宣言しました
@interface DevicePreferencesController : UITableViewController < UIAlertViewDelegate >{
NSArray *plist;
UITextField *deviceName;
}
この配列は、URLからplistデータをロードするために使用されます
これは私が得たplistです
plist:(
{
category = 11;
id = 1;
name = light1;
},
{
category = 11;
id = 5;
name = window;
},
{
category = 12;
id = 2;
name = dimmer2;
},
{
category = 23;
id = 3;
name = win;
}
)
tableViewで表示します
セルを選択した場合
textFieldを含むalertViewがポップアップ表示され、plist内のデータの名前を変更できます
そしてこれがalertViewのボタンアクションです
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
if ([alertView tag]==1) {
if (buttonIndex == 1){
[request setPostValue:[[self.plist objectAtIndex:indexPath.row] valueForKey:@"id"] forKey:@"id"];
[request setPostValue:deviceName.text forKey:@"name"];
[request startSynchronous];
}
}
}
しかし、ここで「indexPath」が宣言されていないというエラーが発生しました。
なんで ?plistは配列ですが、配列からindexPathを取得できないのはなぜですか?