请帮我!!有人可以教我IBAction如何只在单元格上从TableView使用`isEqualToString`到一个`NSArray`对象?

时间:2014-07-10 09:18:18

标签: ios iphone objective-c uitableview

任何人都可以教我IBAction如何将isEqualToString用于具有一个单元格的TableView中的NSArray对象?

我的第一页是一个带有1个Cell的TableViewController,我创建了NSSArray对象,将数据推送到第二页ViewController。

每当用户触摸ViewController中的按钮时,我创建了一个IBAction来播放声音。 (这意味着当我点击按钮时它会根据NSArray的Cell数据加载声音)

“DetailModal”是来自其他TableViewController的NSArray对象。

我正在使用AudioToolbox,我已经将声音文件创建为soundID

如何使用isEqualToString链接NSArray对象?

例如:

我已经创建了一个soundID列表:

NSURL *buttonURL1 = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"A" ofType:@"m4a"]];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)buttonURL1, &soundID1);

NSURL *buttonURL2 = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"I" ofType:@"m4a"]];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)buttonURL2, &soundID2);

Detail2ViewController.h

@property (strong, nonatomic) NSArray *DetailModal;

如何在IBAction中对NSArray对象使用“isEqualToString”?

- (IBAction)Sound {

    int sound =  _DetailModal;  (Don't know how to do. Want to equal a object _DetailModal but show error)

    if ([_TitleLabel.text isEqualToString:@"/a/"]) {    (_TitleLabel is a NSSArray object and equal to _DetailModal from another TableViewController)
        AudioServicesPlaySystemSound(soundID1);
    }

    if ([_TitleLabel.text isEqualToString:@"/i/"]) {
        AudioServicesPlaySystemSound(soundID2);
    }
}

我试过但失败了......

我正在使用故事板

感谢您提前! (我真的是初学者)

2 个答案:

答案 0 :(得分:0)

我从您的问题中理解,您在将数据从一个控制器传递到另一个控制器时遇到问题,例如从您的情况下从tableviewcontroller传递到detailview。

您可以在故事板中使用以下方法:

  • (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

请参阅: http://www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2

答案 1 :(得分:0)

修改IBAction中的条件以检查isEqualToString内的NSArray: -

for (NSString *str in _TitleLabel)
{
if([str isEqualToString:@"/a/"])
{
//Write your code
}
if ([str isEqualToString:@"/i/"]) 
{
//Write your code
}
}