我正在尝试了解 iPhone 的 SQLite 功能,但在从重写的 UITableViewDataSource 函数读取数据库文件时遇到了一些问题。我将数据库文件位置存储在我的应用程序委托(delegate)中的 ivar(作为 NSString)中,但是当我尝试从重写的 UITableViewDataSource 函数访问该字符串时,它返回一些其他对象。如果我从任何类自己的实例方法访问字符串,它工作正常。
有什么方法可以从覆盖的 UITableViewDataSource 函数中访问应用程序委托(delegate)?
最佳答案
应用程序是一个单例,它维护对应用程序委托(delegate)的引用。您始终可以使用以下方式访问您的应用委托(delegate):
[UIApplication sharedApplication].delegate
您可能需要将返回强制转换为您自己的应用程序委托(delegate)类以消除警告。更好的是,编写一个返回您的 upcast 应用委托(delegate)的访问器:
#pragma mark access to app delegate etc.
+ (MyAppDelegateClass*) sharedAppDelegate; {
return (MyAppDelegateClass*)[[UIApplication sharedApplication] delegate];
}
关于iphone - 您可以从 UITableViewDataSource 函数中访问应用程序委托(delegate)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/817259/