我的单例访问器方法通常是以下的一些变体:
static MyClass *gInstance = NULL;
+ (MyClass *)instance
{
@synchronized(self)
{
if (gInstance == NULL)
gInstance = [[self alloc] init];
}
return(gInstance);
}
Run Code Online (Sandbox Code Playgroud)
我可以做些什么来改善这个?
好吧,我知道这是一个模糊的概念问题,但我真的需要帮助.如果您决定花时间阅读本文,请提前致谢.我甚至不会考虑写这么多,除非这是一个很有帮助的人这么好的论坛,我认为这将是最好的地方.
这都与这里的问题有关(你不必看它 - 我在下面解释一下):初始化表时传递参数
我已经在同样的问题上工作了几天,但我意识到必须有一些我不知道的大事.我用Google搜索和谷歌搜索,我甚至在几天前买了两本Obj-C书(大约50%),但我仍然抓住看起来应该非常容易的东西.我显然对OOP很新,但我在HTML,perl,sql,python以及一些像pascal和basic这样的古老东西中都有平庸的技巧.我是一个n00b,但不是白痴(嗯,实际上这种体验正在改变我的想法).
无论如何,我的最终目标是在第一个视图(级别1)上创建一个带有8个"普通"按钮的应用程序,每个按钮基本上都做同样的事情 - 这是显示一个简单的表视图(级别2),其中包含数据可以单击以继续深入查看详细信息的单元格(级别3).非常基本和直接的概念.8个可能的2级之间的唯一区别是将显示的数据.我已经构建了sql查询,就像我想要的每个按钮一样.
所以,这就是我的立场:我有一个完美的应用程序,可以完全按照我的预期从第2级完成所有工作 - 查询工作,表格很漂亮 - 所以这很棒.
此外,我有另一个基于导航的应用程序启动"1级",并显示8个按钮(我隐藏1级导航栏).如果我单击级别1上的任何按钮,则级别2视图(导航栏+表格)将完全按照我的要求滑入视图.问题是表格只是空白.无论我做什么,我都无法在第二个应用程序中获得级别2来向我显示数据,即使我可以在第一个应用程序中完美地显示所有数据.对于我的生活,我无法弄清楚如何将第1级与第2级"链接".
希望你能理解我想要弥合的这个差距.由于第2级有8种可能性(在同一个sql表上的sql查询只有很小的差异),我最初尝试用"将"整数"传递"到2级视图(在第一个应用程序中)并且然后根据传递的内容选择sql查询(参见上面关于该惨败的链接).一旦我开始工作,我计划弄清楚如何使按钮稍后"通过".但是,经过大约16个小时的拧紧,我只是放弃了,决定制作8个不同的表视图控制器,除查询外,所有代码都几乎相同.这样一来,如果我只能在1级上获得一个SINGLE按钮,只需按下没有参数的2级中的一个,那么我将是一个可怕但成功的程序员.
不幸的是,即使这样对我来说也没有用.我已经在Interface Builder中尝试了所有可能的控制 - 拖动和窗口/视图/表组合,但无论我尝试什么,数据都不会加载到表视图中,即使它在我的第一个应用程序中运行良好.我已经完成了每一行代码 - 它们是相同的,除了必须"调用"或"启动"2级部分,我只是没有得到它.
所以,我打算在这里打破常规/期望,而不是在我的问题中发布任何代码.我只是想知道 - 这怎么可能这么难?我非常注重分析,而且我很快就会流行起来,但我不得不说我生活中的技术挑战从未如此谦卑.
任何人都可以在概念层面向我解释我需要在这里做什么或者我缺少什么?即使你给我一些阅读内容的链接,我也会非常感激.我在youtube上看了几十个小时的教程,但我总是想要更多.
当然我愿意分享我的代码,但是它有很多,而且我很新,我真的不知道相关部分在哪里.另外,我实际上想了解所有这些是如何工作的,所以我可以帮助别人.如果在这里有PM这样的东西,如果你愿意看看,我会给你发电子邮件.一旦我开始工作,我将在这里发布代码.我不得不相信还有其他人在寻找和我一样的东西.但是,更重要的是,我只是想从高层次上了解解决问题的正确方法是什么?如果你查看我的链接,你可以看到我一直在尝试(这是将一个整数传递给填充表的方法),但正如我所说,我基本上放弃了,因为我没有得到任何地方.人们试图帮助我,但我是个白痴.
感谢你带着我痛苦的长信息.如果你做到这一点,并为我提出一些建议,我会全力以赴.不过我会说实话 - 如果你告诉我我应该废弃整件事并使用核心数据我会哭.我真的不认为我有时间找出一种完全不同的数据管理方式.正如我所说,我对数据库和我的应用程序的查询部分非常满意 - 它只是管理怪异的视图并在它们之间传递数据,这让我感到害怕!
感谢任何帮助 - 非常感谢你们.