sle*_*rfx 8 sdk uiviewcontroller uipasteboard ios
我想在应用程序启动时将文本复制到剪贴板.
我可以使用以下文本从剪贴板中获取可用文本.但是我需要在另一个viewcontroller中使用这个值.如何将此值传递给我的viewcontroller?
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog([UIPasteboard generalPasteboard].string);
}
Run Code Online (Sandbox Code Playgroud)
Arv*_*son 10
更好的处理方法是在UIApplicationDidBecomeActiveNotification事件中添加一个观察者(在视图控制器中).这样就可以避免应用程序委托和视图控制器之间不必要的耦合.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(getClipboardString:)
name:UIApplicationDidBecomeActiveNotification object:nil];
Run Code Online (Sandbox Code Playgroud)
编辑:删除视图控制器时不要忘记删除观察者:
[[NSNotificationCenter defaultCenter] removeObserver:self];
Run Code Online (Sandbox Code Playgroud)
小智 9
在您的VC上声明并实现一个方法,您在活动时从应用程序委托调用该方法:
@inferface ViewController: UIViewController {
/* etc. */
}
- (void)handlePasteboardString:(NSString *)s;
@end
Run Code Online (Sandbox Code Playgroud)
在你的app委托中:
- (void)applicationDidBecomeActive:(UIApplication *)a
{
[self.mainViewController handlePasteboardString:[UIPasteboard generalPasteboard].string];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6878 次 |
| 最近记录: |