Where to use setCurrentTabIndex in CarbonKit?


I have tried using setCurrentTabIndex method to programatically go to another view in all methods like didMoveAtIndex, but it gets messed up every time. Any advice how to use it ?

 - (UIButton *)viewAllBtns:(int )tag {
  UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
  [btn setTitle:@"View All" forState:UIControlStateNormal];
  [btn setTitleColor:viewAllBtnColour forState:UIControlStateNormal];
   btn.tag = tag;
  [btn addTarget:self action:@selector(viewAllMethod:)forControlEvents:UIControlEventTouchUpInside];   
  [containerView addSubview:btn];
return btn;
 - (void)viewAllMethod:(id)sender {
   UIButton *button=(UIButton *)sender;
   switch([button tag]){
     case 1:   [dashboardVc.carbonSwipeNavigation   setCurrentTabIndex:1]; break;
     case 2:   [dashboardVc.carbonSwipeNavigation   setCurrentTabIndex:2]; break;
     case 3:   [dashboardVc.carbonSwipeNavigation   setCurrentTabIndex:3]; break;
    default: break;


Please try this method..

By : shan

I would suggest the following general design pattern. It wastes an additional pointer, but will enforce the requirement that the const object will be able to only access const methods of the private object:

class ObjectImpl;

class const_Object {


  const_Object(const ObjectImpl* object_impl)
    : _impl(object_impl);

  // Only const methods

  const ObjectImpl* _impl;

class Object : public const_Object
  Object(ObjectImpl* object_impl)
    : const_Object(object_impl), _impl(object_impl);

  // non-const methods go here.

  ObjectImpl* _impl;

Adding to Ian's answer, Any complex element that is named by root element will have factory method annotated with @XmlElementDecl().

You can resolve this, by moving the complex type declaration inline like below.

<xsd:schema xmlns= "http://www.foo.org/bar" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:annox="http://annox.dev.java.net" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
    targetNamespace="http://www.foo.org/bar" jaxb:extensionBindingPrefixes="annox"
    jaxb:version="2.1" elementFormDefault="qualified">
    <xsd:element name="unit">
                <xsd:any processContents="skip" />

ObjectFactory.class (no JAXBElement factory method generated here)

public class ObjectFactory {

     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.foo.bar
    public ObjectFactory() {

     * Create an instance of {@link Unit }
    public Unit createUnit() {
        return new Unit();


Test class:

public void testUnmarshalling() throws JAXBException, SAXException {
    JAXBContext context = JAXBContext.newInstance(Unit.class);

    Unmarshaller unmarshaller = context.createUnmarshaller();

            .newSchema(new StreamSource(getClass().getClassLoader().getResourceAsStream("common.xsd"))));

    Object unit = unmarshaller.unmarshal(getClass().getResourceAsStream("unit.xml"));

    System.out.println(">>> Class is: " + unit.getClass().getName());

    StringWriter writer = new StringWriter();
    context.createMarshaller().marshal(unit, writer);

    System.out.println(">>> XML is: " + writer.toString());

    //assertTrue(unit instanceof Unit);

Test xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<unit xmlns="http://www.foo.org/bar">

output :

>>> Class is: org.foo.bar.Unit
>>> XML is: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><unit xmlns="http://www.foo.org/bar"><text>Name</text></unit>
By : ulab

This video can help you solving your question :)
By: admin