我想在我的应用程序中集成一个公共聊天室,但是我对如何创建后端毫无头绪.
我为我的应用程序使用firebase,两个用户或一组用户之间的设置很简单.我根据Firebase中的参考点创建了一个私人会议室,允许该群组中的用户访问这些消息.
现在假设我在洛杉矶,我希望用户能够与距其位置1英里半径范围内的其他用户聊天(lat/lng).我知道这可能是因为有一个应用程序可以在https://itunes.apple.com/sg/app/popcorn-messaging/id718416705?mt=8找到.
如果您想知道我尝试过的内容,请阅读以下内容.这可能有点令人困惑.
我想到这样做的一种方法是在世界范围内创建一个间距为一英里的聊天室.例如,从lat:0,lng:0开始,然后向右移动一英里,然后向右移动一英里等等.但是这样做弊大于利.我将有数百万个聊天室而不是全部使用过.
我认为可以实现的第二种方法是创建一个聊天室,如果它不存在于用户半径内.因此,如果我在洛杉矶,并且没有聊天室,它会在该位置创建一个,并且可以说如果另一个人去洛杉矶,因为已经在1英里的位置内创建了一个聊天室,它将为该用户加载聊天室.
任何建议将不胜感激.
我需要知道如何从ViewController类访问UIView中的特定UITextField.
我目前的设置是我有ViewController链接到Storyboard中的View.我在nib中有UIView,它有3个UITextFields.我使用以下代码加载视图:
TextFieldView = UINib(nibName: "TextView", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as! UIView
self.view.addSubview(TextFieldView)
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码获取所有三个UITextField及其值:
for case let textField as UITextField in TextView!.subviews {
print(textField.text)
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何使用某种标识符或标记获取任何一个特定UITextField的值.假设我有3个UITextField分别命名为TextField1,TextField2和TextField3.我如何获得TextField2的值?
我有两个故事板(主要和SB2)
我在Main中的故事板中有一个视图控制器,在我执行的SB2中有一个
let SB2 = UIStoryboard(name: "SB2", bundle:nil)
let vc : UIViewController = self.SB2.instantiateViewControllerWithIdentifier("VC2")
self.showViewController(vc, sender: self)
Run Code Online (Sandbox Code Playgroud)
在第二个viewcontroller加载并运行此命令后,它将打印nil:
print(self.navigationController) // prints nil
Run Code Online (Sandbox Code Playgroud)
在SB2(第二个故事板)中,我单击了viewcontroller(VC2),然后单击了Editor> Embed In> Navigation Controller.这将导航控制器与故事板放置,根视图控制器为VC2.我三重检查了这个.连接的第一个标志是顶部的灰色导航栏.第二个是segue将导航控制器连接到VC2,我可以检查的最后一个位置是导航控制器实用程序.
我想也许我不应该直接从VC1转换到VC2而是VC1转换到NavigationController,但我不知道如何做到这一点,或者它是否可能.
我不知道什么时候sb2打印nil时,导航控制器连接到它.任何帮助表示赞赏.
我想知道应用程序更新时应用程序处于什么状态。
例如:假设我们正在运行一个应用程序(称为 Le Music),它在后台模式下播放音乐。
现在我们去商店看到有可用的更新,然后点击更新。当前版本的乐音乐从旧版本过渡到新版本的生命周期是怎样的?
我只是在$ _POST [ value ]不为null 时才尝试更新表Users .如果为null,则列中已存在的值应保留.
$query = "UPDATE `Users`
SET FirstName = COALESCE(:firstName, FirstName), LastName = ISNULL(:lastName, LastName), City = :city, State = :state WHERE Email = :email";
$stmt = $dbh->prepare($query);
$stmt->bindValue(':firstName', $firstName);
$stmt->bindValue(':lastName', $lastName);
$stmt->bindValue(':city', $city);
$stmt->bindValue(':state', $state);
$stmt->bindValue(':email', $email);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)
我为FirstName列尝试了COALESCE,为LastName尝试了ISNULL.COALESCE用空格(NULL)替换我的值,这与我想要的完全相反,ISNULL似乎不起作用.
我有 4 个不同的页面(页面 A、B、C、D)和 css 代码
body{
margin-top:50px;
}
Run Code Online (Sandbox Code Playgroud)
假设我希望页面 B 具有不同的边距(margin-top:20px;),那么我该如何将其放置在 css 文件中。
也许像下面这样的东西会很酷。
@pagename.body{
margin-top:20px;
}
Run Code Online (Sandbox Code Playgroud) 我之前创建了一些环境,所以我知道 Amazon EBS 是如何工作的,但是最近我在创建环境时遇到了以下问题:
与环境关联的实例配置文件 aws-elasticbeanstalk-ec2-role 没有任何角色。请将角色附加到实例配置文件。
我按照步骤创建一个新环境。当它进入权限页面时,我创建了一个新角色,因为没有现有角色。然后我按照其余的步骤进行操作,最终它开始启动。几分钟后,我收到上述错误。对此的任何帮助都会有所帮助。
ios ×3
swift ×2
amazon-iam ×1
chat ×1
css ×1
firebase ×1
html ×1
lifecycle ×1
mysql ×1
php ×1
sql ×1
uistoryboard ×1
uitextfield ×1
uiview ×1