我在我的应用程序中实现了一个侧抽屉,它要求我在我的应用程序委托中设置根视图控制器。我现在在登录屏幕上工作。要访问登录屏幕,我必须注释掉我设置根视图控制器的位置。用户登录后如何设置根视图控制器?
下面是我的应用程序委托(或其一部分)
应用程序委托
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let centerViewController = mainStoryboard.instantiateViewControllerWithIdentifier("ViewController") as!ViewController
let drawerViewController = mainStoryboard.instantiateViewControllerWithIdentifier("DrawerViewController") as!DrawerViewController
let leftSideNav = UINavigationController(rootViewController: drawerViewController)
let centerNav = UINavigationController(rootViewController: centerViewController)
centerContainer = MMDrawerController(centerViewController: centerNav, leftDrawerViewController: leftSideNav)
centerContainer!.openDrawerGestureModeMask = MMOpenDrawerGestureMode.PanningCenterView;
centerContainer!.closeDrawerGestureModeMask = MMCloseDrawerGestureMode.PanningCenterView;
//window!.rootViewController = centerContainer
window!.makeKeyAndVisible()
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}
Run Code Online (Sandbox Code Playgroud)
我有一种方法可以在成功登录后处理 segue,但不知道如何在委托之外设置根控制器。总之,如果我取消注释该//window!.rootViewController = centerContainer行但无法访问登录视图,则导航有效
我正在制作我的第一个基于Socket.io的android应用程序。套接字从Web服务发送和接收数据。应用程序中有许多不同功能的屏幕。如何在这些不同的活动中使用相同的套接字连接。
我尝试过将Socket对象设置和存储在Application类中,它似乎运行良好,但是当应用程序进入后台并在后台放置了一段时间后,应用程序被杀死,套接字对象为NULL,导致aoo崩溃。空指针异常。
public class MyApplication extends Application {
private Socket mSocket;
private final String TAG = "Application Class";
public Socket getSocket() {
return mSocket;
}
public Socket createSocket() {
try {
Manager manager = new Manager(new URI("http://0.0.0.0"));
} catch (URISyntaxException URIse) {
URIse.printStackTrace();
}
return mSocket;
}
}
Run Code Online (Sandbox Code Playgroud)
在活动中访问套接字
MyApplication app;
app = (MyApplication ) getApplication();
app.getSocket;
Run Code Online (Sandbox Code Playgroud) 我尝试$variable使用 mysqli_real_escape_string转义查询字符串和包含撇号的变量值来自数据库。我收到以下错误。
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“\'Shamrock Rovers%\' AND away_team like \'St Patrick's Athletic%\'' 附近使用的正确语法
撇号不会被比较值周围的引号转义。
这是出现在 PHP 文件中的查询:
$homeTeam = filter_input(INPUT_GET, 'homeTeam', FILTER_SANITIZE_STRING);
$homePlayers = "select * from players where team_name like $homeTeam";
$homePlayers = mysqli_real_escape_string($dbc, $homePlayers);
$homePlayersResult = mysqli_query($dbc, $homePlayers);
Run Code Online (Sandbox Code Playgroud)
并echo在浏览器中输出:
select * from players where team_name like Shamrock Rovers
Run Code Online (Sandbox Code Playgroud)
我已经尝试了多种不同的方法,结果没有任何变化,我觉得我忽略了一些简单的事情。提前致谢。
编辑 1
更新代码
$homeTeam = filter_input(INPUT_GET, 'homeTeam', FILTER_SANITIZE_STRING);
$homeTeam = mysqli_real_escape_string($dbc, $homeTeam);
echo "<br>".$homeTeam."<br>";
$homePlayers = "select * from players where …Run Code Online (Sandbox Code Playgroud) 我正在尝试加载声音并在两个颈背身体碰撞时播放它我有碰撞检测工作但无法播放声音错误来自以下代码:
var collisionSound:Sound;
collisionSound = new Sound();
collisionSound.addEventListener(Event.COMPLETE, onSoundLoaded);
collisionSound.load(new URLRequest("bang.mp3"));
private function onSoundLoaded(e:event):void
{
collisionSound.play();
}
Run Code Online (Sandbox Code Playgroud)
我在另一个脚本中的示例代码与此非常相似,非常感谢您的帮助。