1

我有一堂课,我保留实用方法;其中一种方法获取存储在 ViewController 中的某些文本框中的值,并将这些值保存到 plist。

问题是实用程序方法类不是 ViewController,因此我无法将文本框的插座属性“连接”到实用程序类。

有没有办法可以将 ViewController 作为参数传递给 Utility 类方法?

4

2 回答 2

1

只需将实用程序类设为仅从 NSObject 继承的 Singleton。这样您就可以轻松地在任何您喜欢的地方访问这些方法,并且您将只有一个实例。

https://developer.apple.com/library/ios/documentation/general/conceptual/DevPedia-CocoaCore/Singleton.html

Matt Gallagher 写了一个很棒的帮助文件来创建单例。在这里查看:

http://www.cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html

于 2013-08-19T23:11:34.023 回答
0

如果这些实用方法是类方法,请使用单例。像这样的东西:

+ (__CMMotionManager__ *)__sharedMotionManager__ {
    static __CMMotionManager__ *shared = nil;
    if (!shared) {
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{ // all threads will block here until the block executes
            shared = [[__CMMotionManager__ alloc] init]; // this line of code can only ever happen once
        });
    }
    return shared;
}

(这是我的 CoreMotionManager 片段)

于 2013-08-19T23:13:22.353 回答