我正在做一个应用程序,我需要在视图控制器类中调用 nsobject 类,我尝试了几种方法,但它不起作用,要么出现 sigabrt 错误,要么应用程序崩溃。
请帮我。
我迷路了好几天了。
有人有从视图控制器调用 nsobject 的示例代码吗?
提前感谢您的帮助。
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
-(IBAction)firstButton;
@end
#import <UIKit/UIKit.h>
@interface TutoAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navigationController;
UIButton *firstButton;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@property (nonatomic, retain) IBOutlet UIButton *firstButton;
@end
Run Code Online (Sandbox Code Playgroud) 我在swift中编写和应用程序,它有一个视图控制器,我在其中更改了一些设置,例如:所有视图控制器标签和标题都将更改.但我的问题是,当我更改应用程序设置时,我将它们存储在核心数据中,当我从核心数据中获取时,我使用导航栏按钮返回到父视图控制器,我什么也得不到相同的数据!但设置视图控制器,当我再次访问它时,它加载正确的数据!如果我关闭应用程序并重新打开它,该应用程序将加载正确的数据!所以我的问题是如何以编程方式重新加载或重新启动第一个视图控制器或整个应用程序?
为了更好地理解我的问题,我的父视图控制器包含导航栏.
代码:
import UIKit
import AVKit
import AVFoundation
import CoreData
class playVideo: UIViewController {
//data source
var languageDB = [NSManagedObject]()
let managedContext = AppDelegate().managedObjectContext
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.hidesBackButton = true
change_language()
}
override func viewDidLayoutSubviews() {
self.view.setNeedsDisplay()
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
change_language()
}
func change_language(){
Insert("?????")//insert default language
fetch("Language")
let Language = languageDB[0]
let row_value : String = Language.valueForKey("lang") as! String
if(row_value == "?????"){
self.navigationItem.title = "??? ???? ?????? ?? ??? ???? ????"
self.navigationItem.backBarButtonItem?.title …Run Code Online (Sandbox Code Playgroud) 我想知道是否有人可以解释什么时候是使用 Segue 的理想时间以及弹出和关闭视图控制器与使用展开 Segue 之间有什么区别?
我有一个在 AVAudioPlayer 中播放的主菜单声音文件。
我想创建一个选项按钮,将我带到另一个视图控制器。当我点击开关时,可以选择“关闭”主菜单声音。如何停止音频播放?
如何在不同的 ViewController 中访问音频播放器?
如果您需要更多信息,请告诉我。谢谢!
我注意到,当我浏览 iOS 应用程序时,内存堆栈会随着每个打开的 viewController 的增加而增长。
我的导航基于转场,并且self.dismiss()在执行每个转场之前都会进行导航。不过,看起来 viewControllers 堆栈在内存中。
我怎样才能避免这种情况?
在 Android 中,finish()会杀死 Activity(在大多数情况下),因此我需要在 iO 中找到替代方案。
可能是一个简单的修复,但我正在尝试让我的简单 ios 故事板应用程序在我的 iPhone 11 上的安全区域中渲染。
它目前占据了整个视图空间并且没有使用安全区域。我不确定是否需要对代码进行任何更改,或者它只是故事板视图中未打开的设置。
这是我的第一个应用程序。感谢您的帮助。
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string:"https://google.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
if #available(iOS 11.0, *) {
webView.scrollView.contentInsetAdjustmentBehavior = .never;
}
webView.navigationDelegate = self
webView.allowsBackForwardNavigationGestures = true
}
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webConfiguration.dataDetectorTypes = [.all]
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
}
extension ViewController: WKNavigationDelegate { …Run Code Online (Sandbox Code Playgroud) 到目前为止,我只能为每个按钮创建一个 iboutlet。我想要实现的是为许多按钮创建一个 iboutlet,从而允许我编写代码来仅在这些按钮周围创建相同的边框宽度、颜色和半径一次。这可能吗?
import UIKit
class GameScreenViewController: UIViewController {
@IBOutlet weak var answerTextLabel: UILabel!
@IBOutlet weak var scoreLabel: UILabel!
@IBOutlet weak var questionLabel: UILabel!
@IBOutlet weak var numberBtn: UIButton! //this iboutlet is what i would like to be able to connect to multiple number buttons in my app.
}
Run Code Online (Sandbox Code Playgroud) 我的Xcode项目有一个导航控制器,主视图控制器有一个推动新视图的UIButton.如何将我的"SecondViewController"指定为第二个视图的视图控制器类?
我正在学习Swift并学习一些教程.我一直收到错误:输入
'ViewController'不符合协议'UITableViewDataSource'
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var GetAllDataTest = NSMutableArray()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func viewWillAppear(_ animated: Bool) {
GetAllDataTest = FMDBDatabaseModel.getInstance().GetAllData()
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TestTableViewCell") as! TestTableViewCell
//cell.editData = self
cell.tag = indexPath.row
var l = Tbl_Test()
l = GetAllDataTest.object(at: indexPath.row) as! Tbl_Test
cell.lblName.text! = l.Name
cell.lblMobileNo.text! …Run Code Online (Sandbox Code Playgroud) 我需要比较两个视图是否相同,我得到这样的观点
let viewController = navController.viewControllers[navController.viewControllers.count - 2]
let newController = self.storyboard!.instantiateViewController(withIdentifier: "Reservar")
Run Code Online (Sandbox Code Playgroud)
当我打印变量的值时,我得到了这个
<Resto.ReservaViewController: 0x7fc9f0e4a860>
<Resto.ReservaViewController: 0x7fc9f0d074a0>
Run Code Online (Sandbox Code Playgroud)
它们是相同的ViewController,但最后的数字是不同的,所以我认为这就是if(viewController == newController)为假的原因