Вы можете использовать свойство layer. Добавьте объект, который вы хотите передать в качестве значения в словарь слоя.
[[btn layer] setValue:yourObj forKey:@"yourKey"];
Этот yourObj
доступен из функции действия кнопки:
-(void)btnClicked:(id)sender
{
yourObj = [[sender layer] valueForKey:@"yourKey"];
}
С помощью этого метода вы можете передавать несколько значений функции кнопки, просто добавляя новые объекты в словарь с различными ключами.