相关疑难解决方法(0)

在视图控制器之间传递数据

我是iOS和Objective-C以及整个MVC范例的新手,我坚持以下内容:

我有一个视图作为数据输入表单,我想让用户选择多个产品.产品列在另一个带有a的视图中,UITableViewController我启用了多个选择.

我的问题是,如何将数据从一个视图传输到另一个视图?我将UITableView在数组中保留选择,但是如何将其传递回上一个数据输入表单视图,以便在提交表单时将其与其他数据一起保存到Core Data?

我已经四处浏览并看到一些人在app delegate中声明了一个数组.我读了一些关于单身人士的事情,但不明白这些是什么,我读了一些关于创建数据模型的内容.

执行此操作的正确方法是什么?我将如何进行此操作?

model-view-controller objective-c uiviewcontroller ios swift

1340
推荐指数
34
解决办法
44万
查看次数

如何实现与ARC兼容的Objective-C单例?

在Xcode 4.2中使用自动引用计数(ARC)时,如何转换(或创建)编译和行为正确的单例类?

singleton objective-c ios automatic-ref-counting

168
推荐指数
3
解决办法
9万
查看次数

允许在另一个UIView下与UIView进行交互

是否有一种简单的方法允许与位于另一个UIView下的UIView中的按钮进行交互 - 在按钮顶部没有来自顶部UIView的实际对象?

例如,目前我有一个UIView(A),顶部有一个对象,屏幕底部有一个对象,中间没有任何东西.它位于另一个UIView的顶部,中间有按钮(B).但是,我似乎无法与B中间的按钮进行交互.

我可以看到B中的按钮 - 我已经将A的背景设置为clearColor - 但是B中的按钮似乎没有接收到触摸,尽管实际上在这些按钮的顶部没有来自A的对象.

编辑 - 我仍然希望能够与顶级UIView中的对象进行交互

当然有一种简单的方法可以做到这一点?

cocoa-touch objective-c ios

115
推荐指数
6
解决办法
6万
查看次数

导航控制器上的透明模态视图

我正在尝试在导航控制器上创建一个透明的模态视图.有谁知道这是否可能?

iphone

71
推荐指数
5
解决办法
7万
查看次数

40
推荐指数
6
解决办法
8万
查看次数

正确的单一模式目标C(iOS)?

我在网上找到了一些信息来创建一个使用GCD的单例类.这很酷,因为它的线程安全,开销很低.遗憾的是,我找不到完整的解决方案,只能找到sharedInstance方法的片段.所以我使用试错法制作了自己的课 - 而且瞧瞧 - 以下内容出来了:

@implementation MySingleton

// MARK: -
// MARK: Singleton Pattern using GCD

+ (id)allocWithZone:(NSZone *)zone { return [[self sharedInstance] retain]; }
- (id)copyWithZone:(NSZone *)zone { return self; }
- (id)autorelease { return self; }
- (oneway void)release { /* Singletons can't be released */ }
- (void)dealloc { [super dealloc]; /* should never be called */ }
- (id)retain { return self; }
- (NSUInteger)retainCount { return NSUIntegerMax; /* That's soooo non-zero */ }

+ (MySingleton …
Run Code Online (Sandbox Code Playgroud)

singleton objective-c grand-central-dispatch ios

29
推荐指数
2
解决办法
3万
查看次数

如何在iPhone上的UIViewControllers之间共享对象?

我的应用程序是一个标签栏应用程序,每个标签都有一个单独的视图控制器.

我的第一个视图控制器(A)中有一个对象,其中包含我存储的所有应用程序数据(请忽略NSUserDefaults),当我按下按钮时,第二个视图控制器(B)需要访问该数据.我怎样才能以最好的方式实现这一目标?

iphone delegates objective-c uiviewcontroller

23
推荐指数
3
解决办法
2万
查看次数

创建新实例的类方法

除了标准[[MyClass alloc] init]模式,一些对象是由静态方法构建的MyClass *obj = [MyClass classWithString:@"blabla"]

根据广泛的内存管理指南(包括Apple的),您只负责释放您的对象alloc.

有人能为我提供这种方法的模板吗?你如何返回分配的对象([self alloc]; return self;也许)?你如何确保它将被释放?

memory-management objective-c initializer class-method

20
推荐指数
1
解决办法
1万
查看次数

Objective-C singleton应该如何实现init方法?

我在Obj-C中阅读了一些关于单身人士的惊人资源:

  1. 所以问题:你的Objective-C单身人物是什么样的?
  2. 星期五问答:单身人士的照顾和喂养
  3. Apple文档:创建单例实例

但是这些资源都没有明确地解决init方法概念,而且仍然是Obj-C的新手我很困惑应该如何实现它.

到目前为止,我知道init在Obj-C中不能使用私有,因为它不提供真正的私有方法......所以用户可以调用[[MyClass alloc] init]而不是使用我的[MyClass sharedInstance].

我还有什么其他选择?我相信我也应该处理我的单例的子类化方案.

singleton objective-c

16
推荐指数
1
解决办法
7363
查看次数

Objective-C:使用singleton vs. use类作为对象?

我一直想知道在什么情况下在objective-C中采用单例模式是非常必要的(例如,定义一个专用类并创建一个单独的实例),使用类作为对象是不行的.

特别是,我正在考虑以下解决方案:

  1. 在单例实例上定义和使用适当的类方法,而不是实例方法;
  2. 使用static变量(文件范围全局变量),而不是单例实例的实例变量;
  3. 在注册为通知的观察者而不是单例实例时使用类对象.虽然类对象本身就是一个Objective-C对象(对吗?),但这需要注册的通知处理程序是一个类方法; (这可能吗?)

例如,而不是一个Texture类(模型对象)一个TextureManager单(资源管理器),你可以有作为类的方法和相同的静态变量实现的所有纹理制作/清除Texture类(工厂模式加上一些资源管理).

有关这个设计的任何想法?

编辑: 现在我想到了它,仍然在Texture上面的例子中,即使我将这两个类分开(TextureTextureManager)我必须在A之间做出选择.让经理成为单身人士,并使用实例方法或B.让经理成为无实体的辅助类.澄清:

Texture* myTexture = [[TextureManager defaultManager] textureWithName:@"TextureName"]; 
// (singleton, client uses instance methods)
Run Code Online (Sandbox Code Playgroud)

Texture* myTexture = [TextureManager textureWithName:@"TextureName"]; 
// (Class standing in for singleton, client uses class methods)
Run Code Online (Sandbox Code Playgroud)

后者看起来更直接,不那么繁琐/冗长,但我想知道哪种设计"更正确".当然,前者允许TextureManager出现不止一个实例(不是在我的情况下).

singleton factory objective-c resourcemanager

14
推荐指数
1
解决办法
4000
查看次数