我正在尝试使用AWS php sdk,并设置了一些问题.当我运行需要自动加载器的php脚本时,我收到此错误:
Parse error: syntax error, unexpected '$value' (T_VARIABLE) in /[directory path]/Aws/functions.php on line 36
Run Code Online (Sandbox Code Playgroud)
我看了那个文件,第36行就是那个开头的if ($pred($value)).
function filter($iterable, callable $pred){
foreach ($iterable as $value) {
if ($pred($value)) {
yield $value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
不确定如何解决这个问题,所以任何提示都将非常感激.我尝试过的事情:用作曲家安装.用.zip安装.
遵循以下步骤:http://docs.aws.amazon.com/aws-sdk-php/guide/latest/installation.html
我正在创建一个自定义视图,使用uiimageview作为子视图.然后我在导航栏中使用该自定义视图作为rightBarButtonItem.这适用于在正确的位置显示正确的图标,但无论出于何种原因,我在"动作"中定义的函数永远不会被调用,因此当我点击rightBarButtonItem时不执行segue.奇怪的是,如果我不插入自定义视图,而是注释掉该位,只需为rightItem设置标题,目标和操作,那么该函数将正确执行.以某种方式添加自定义视图与目标和动作属性混淆,但我似乎无法弄清楚如何解决它.任何帮助将不胜感激!
//create custom view for right item and set it
var imageViewRight:UIImageView = UIImageView()
imageViewRight.frame = CGRectMake(5, 10, 35, 25)
let rightImage:UIImage = UIImage(named: "cameraIconInactive")!
imageViewRight.image = rightImage
var rightView:UIView = UIView()
rightView.frame = CGRectMake(0, 0, 45, 45)
rightView.addSubview(imageViewRight)
var rightItem:UIBarButtonItem = UIBarButtonItem()
//this line right below is the problem - if I comment it out and replace with a simple rightItem.title = "test" and leave everything else the same, then the method runs properly
rightItem.customView = rightView
rightItem.target = …Run Code Online (Sandbox Code Playgroud) 也查看了 SO 和 Amazon 的文档,但找不到任何关于如何使用 iOS SDK(特别是使用 Swift)发出放置请求的可靠文档。
我认为我需要先实例化一个 AWSDynamoDBClient(https://aws.amazon.com/articles/7439603059327617),但是当我在 xcode 中工作时没有看到它显示为一种类型。
经过所有这些斗争,老实说,我只有两行代码:
var myDynamoDBPutRequest:AWSDynamoDBPutRequest = AWSDynamoDBPutRequest()
myDynamoDBPutRequest.item = ["fbid": "test"]
Run Code Online (Sandbox Code Playgroud)
我不知道如何运行它,并且怀疑请求是否设置正确。我也看过 PutItemInputs,但不确定它与 putRequest.item 有何不同。如果有人能指出我正确的方向,我会很乐意自己进行调查-我只是没有地方寻找好的文档:/
编辑:
我已经取得了一些进展,但仍然无法弄清楚如何正确创建一个放置项 input 。这是我现在拥有的代码:
var myPutItemInput:AWSDynamoDBPutItemInput = AWSDynamoDBPutItemInput()
myPutItemInput.tableName = "mytable"
var myDynamoDB = AWSDynamoDB.defaultDynamoDB()
myDynamoDB.putItem(myPutItemInput).continueWithBlock { (task:BFTask!) -> AnyObject! in
if(task.result != nil){
let myPutOutput = task.result as AWSDynamoDBPutItemOutput
println(task.result)
}else{
println("task.result was nil for put item request")
}
return nil
}//end put item task
Run Code Online (Sandbox Code Playgroud)
现在我至少想出了如何执行请求,但每次结果都是 nil。