如何在ios中比较元素数组与字符串?

时间:2012-09-17 23:46:49

标签: iphone ios xcode cocoa

    - (void)viewDidLoad
    {
        [super viewDidLoad];

 NSMutableArray *imageArray=[[NSMutableArray alloc]initWithObjects:@"pic1.png",@"pic2.png",@"pic3.png",@"pic4.png",nil];


NSMutableArray *username=[[NSMutableArray alloc]initWithObjects:@"A",@"B",@"C",@"D" ,nil];

        [self scrollViewAction];

    }




    -(void)scrollViewAction

    {

        int x=5,y=0;

        for(int i=0;i<[DetailsArray count];i++)

        {

            UIButton *btn=[[UIButton alloc]init];


[btn setFrame:CGRectMake(x, y, 90, 90)];

            UILabel *usernameLabel=[[UILabel alloc]init];

            [btn addTarget:self action:@selector(btnClicked) 

forControlEvents:UIControlEventTouchUpInside];

            btn.tag=i;

            image=[UIImage imageWithData:[NSData dataWithContentsOfFile:@"imageArray"]];

            if(i==0||i==1||i==2)


            {


                usernameLabel=[[UILabel alloc]initWithFrame:CGRectMake(x,90,90,10)];


            }

else

            {


                usernameLabel=[[UILabel alloc]initWithFrame:CGRectMake(x,y+90,90,10)];

            }



            usernameLabel.text=username;

    -------------------------------------------------------(here I am getting cant compare 

array with string)

            usernameLabel.backgroundColor=[UIColor blueColor];

            usernameLabel.font=[UIFont systemFontOfSize:12];

            [usernameLabel setTextAlignment:UITextAlignmentCenter];

            [self.scrollview addSubview:btn];

            [self.scrollview addSubview:usernameLabel];

             x=x+110;

            if((i+1)%3==0)

            {

                x=5;


                y=y+110;//y=y+115;




            }



            self.scrollview.contentSize= CGSizeMake(320,y+200);

        }




    }

2 个答案:

答案 0 :(得分:3)

usernameLabel.text=username;

username是NSMutableArray的一个实例,它不是那里所期望的(NSString的一个实例)。 也许你想做这样的事情?

usernameLabel.text=[username objectAtIndex:0];

答案 1 :(得分:1)

for (NSString *name in username) {
   if ([name isEqualToString(usernameLabel.text)])
//matched string found
}