小编Kub*_*bba的帖子

Facebook API:如何获取FB登录用户的唯一ID?API中的ID与v2.0中的"真实"用户ID不匹配

- (void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user 
{
    self.profilePictureView.profileID = user.objectID;
    self.nameLabel.text = user.name;
    NSLog(@"My ID:%@", user.objectID);
}
Run Code Online (Sandbox Code Playgroud)

我试图使用上面的代码打印用户ID.而我得到的是3176144783XXXXX.

但是,我使用这个在线工具http://findmyfacebookid.com/得到了另一个.结果是1000042591XXXXX.

有谁知道这个区别?为什么我的应用和'findmyfacebookid.com'会为同一个用户收到不同的用户ID?

注意:我的移动应用程序需要使用FB唯一ID来创建我自己的用户数据库.所以这就是我需要一个唯一ID的原因.

facebook-graph-api ios facebook-login facebook-graph-api-v2.0

7
推荐指数
1
解决办法
2万
查看次数

NSAttributedString 获取属性越界异常

我正在尝试从属性字符串中获取属性。除非字符串为空,否则一切正常。看一看:

let s = NSAttributedString(string: "", attributes: [NSForegroundColorAttributeName: UIColor.red])
let range = NSMakeRange(0, s.length)
let attrs = s.attributes(at: 0, longestEffectiveRange: nil, in: range)
Run Code Online (Sandbox Code Playgroud)

为什么我在最后一行出现越界异常?

nsattributedstring swift

5
推荐指数
1
解决办法
1684
查看次数

[SuperClass]类型的Swift数组,其元素类型为[Subclass]

有人能解释为什么这段代码会抛出错误吗?

class Base {}
class SubclassOfBase: Base {}

let baseItems = [Base](count: 1, repeatedValue: Base())
let subclassItems = [SubclassOfBase](count: 3, repeatedValue: SubclassOfBase())

var items = [Base]()
items.append(SubclassOfBase()) //OK
items.appendContentsOf(baseItems) //OK
items.appendContentsOf(subclassItems) //cannot invoke with argument of type [SubclassOfBase]
items.append(subclassItems.first!) //OK
Run Code Online (Sandbox Code Playgroud)

接下来的问题:添加子类元素的唯一方法是在for循环中逐个添加它们吗?

arrays swift

4
推荐指数
1
解决办法
1659
查看次数

textview 中的文本不是垂直居中

我正在尝试创建一个文本视图,其高度跟随其中的行数。我一直在研究约束,但在这里我有一个奇怪的问题:

  • 一开始一切都是我想要的中心

在此处输入图片说明

  • 当有中断时,文本不再垂直居中并进入左上角

在此处输入图片说明

  • 当你删除字符然后回到上一行时,文本仍然垂直居中

在此处输入图片说明

这是代码

func textViewDidChange(textView: UITextView) { //Handle the text changes here
    if(textView.text != ""){
        self.animateSendButton(true)
    }else{
        self.animateSendButton(false)
    }//the textView parameter is the textView where text was changed

    heightTextfieldConstraint.constant = self.textField.contentSize.height + 2
    textField.contentInset.top = 1
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会有这 3 种不同的情况,你有什么解决办法吗?

uitextview swift

3
推荐指数
1
解决办法
3520
查看次数

Swift 的枚举有一种情况会在运行时导致 BAD_ACCESS

我在 Xcode 7.3 上的 Swift 2.2 中发现了奇怪的错误(或者这不是错误,但我做错了什么)。

我有一个带有一种情况和类的枚举,该类将此枚举作为初始值设定项的参数

enum OneCaseEnum {
    case X
}

class OneEnumWrapper {
    var myVar: OneCaseEnum

    init(v: OneCaseEnum)
    {
        self.myVar = v
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我在真实应用程序中运行此代码,即 AppDelegate 中的某处:

let e = OneCaseEnum.X
print(e)
let x = OneEnumWrapper(v: e)
print(x)
Run Code Online (Sandbox Code Playgroud)

我在运行时在第三行得到了 BAD_ACEESS 。

  • 它在 Xcode 7.3 中崩溃(在以前的版本上工作正常)。
  • 在操场上工作正常。
  • 如果我添加另一个枚举案例就可以了
  • 如果我将 myVar 标记为未包装的可选,则可以正常工作

我做错了什么或者是 Swift/Xcode/编译器/其他错误吗?

xcode enums swift swift2 xcode7.3

1
推荐指数
1
解决办法
578
查看次数