在单独的类中创建的方法返回“超出范围”

时间:2010-05-18 17:33:20

标签: iphone xcode class singleton methods

我创建了一个Class(NSObject的子类),它将保存我所有的SQL / dbConnections等。

在一个单独的viewcontroller中,我已经实例化了SQL的类并执行了一些操作,所有操作都通过OK。

但是。 我的SQL类中的一个方法是一个定义如下的方法:

-(NSString *)queryTable:(NSUInteger *)fieldnum
        //query from db, and assign the field value into "fieldName"

        dbEntity = fieldName;
        [fieldName release];

       }
       sqlite3_finalize(statement);
   } 
   return dbEntity;
}

dbEntity定义为NSString,我将其设置为nonatoimc-retain属性

@property (nonatomic,retain) NSString *dbEntity;

当我从viewController调用此方法并逐步调试时, 我看到该方法正在运行,它正在按预期从数据库查询, 但是当它将值传递给dbEntity时,dbEntity中的值突然“超出范围” 那就是......如果我浏览这个特定的动作:

dbEntity = fieldName; 

我可以在fieldName中看到值,但在dbEntity中看到“超出范围”。

为什么???

dbEntity定义有什么问题?

任何帮助都会得到满足。

1 个答案:

答案 0 :(得分:1)

除非您这样做,否则不会保留:

self.dbEntity = fieldName;