Iphone 有没有办法创建一个未自动释放的UIButton,并将其设置为';什么是纽扣?

Iphone 有没有办法创建一个未自动释放的UIButton,并将其设置为';什么是纽扣?,iphone,uibutton,Iphone,Uibutton,UIButton有一个初始值设定项buttonWithType。但这是一个工厂方法,将创建一个自动释放的对象。当然,我们可以这样做: UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(10, 10, 50, 30)]; 但是在这种情况下,我将无法将按钮的类型设置为buttonType是只读属性 那么,我有没有办法创建没有自动释放的按钮,并且仍然设置它们的类型 附言: 对自动释放对象使用自动释放池是一个很好的实践。但是我

UIButton有一个初始值设定项
buttonWithType
。但这是一个工厂方法,将创建一个自动释放的对象。当然,我们可以这样做:

 UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(10, 10, 50, 30)];
但是在这种情况下,我将无法将按钮的类型设置为
buttonType
是只读属性

那么,我有没有办法创建没有自动释放的按钮,并且仍然设置它们的类型

附言:

  • 对自动释放对象使用自动释放池是一个很好的实践。但是我对自动释放的对象没有什么问题。这只是一个疑问

  • 我不是在为任何特定的场景寻找解决方案,所以请不要回答像“你为什么想要这个?”这样的问题。我突然想到这是我做不到的事。。所以我在问

  • 谢谢,
    Swapnil

    如果仍然需要,可以使用初始值设定项,然后向对象发送
    retain
    消息


    我认为缺少其他初始值设定项的原因是UIButtons通常作为子视图添加到某处,因此会自动接收
    retain
    消息

    如果仍然需要,可以使用初始值设定项,然后向对象发送
    retain
    消息


    我认为缺少其他初始值设定项的原因是UIButtons通常作为子视图添加到某处,因此会自动接收
    retain
    消息

    否,只有类型为:的
    +按钮才能创建这些特殊按钮。之所以没有
    +alloc
    /
    -init
    对来构造这样的按钮,是因为它们实际上是由(例如UIRoundedRectButton)实现的

    如果需要保留按钮,请使用
    -retain

    theButton = [[UIButton buttonWithType:foo] retain];
    

    不,只有类型为:
    +按钮才能创建这些特殊按钮。之所以没有
    +alloc
    /
    -init
    对来构造这样的按钮,是因为它们实际上是由(例如UIRoundedRectButton)实现的

    如果需要保留按钮,请使用
    -retain

    theButton = [[UIButton buttonWithType:foo] retain];