我正在开发LiveJournal.com客户端,我有一个问题。请你解释它是什么意思?
标量当安全性是usemask时相关。一个32位无符号整数,表示允许哪些用户的朋友组查看此帖子。将位0置1以允许任何已定义的朋友读取它。否则,为应允许读取的每个朋友组打开1-30位。位31保留。
如果我想查看例如id = 6的组,我需要在NSMutableDictionary中添加什么?我不明白......
答案 0 :(得分:1)
安全实施通过授权或没有组的朋友来阅读期刊/文本。
这假设最多有30个可能的组,因为bit-0是特定的,而bit-31是保留的。
安全性在unsigned int
上编码,意思是32位,其中bit0到bit31具有特殊含义。
1
,则允许任何朋友进行读访问。0
,则表示检查接下来的30位bit1到30,以查看组i
(来自位i
)是否具有读访问权限(位设置为1
)或否(位设置为0
)。 unsigned int
可以表示为
bit 31 bit 0
v v
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
例如十进制值11(0 ... 01011或8 + 3)表示为
00000000000000000000000000001011
其中位0,1和3设置为1,其他位设置为0.
因此,要检查朋友是否可以访问日记,请记下日记访问位,例如
11000000000000000000000000001011
你看到第一位是1,所以所有组(所有朋友)都被授权。
如果访问权限是
11000000000000000000000000001010
第一位为0,因此您必须根据上述访问权限检查组号。假设组号是1,您检查上面的访问
11000000000000000000000000001010
1
^
group one
您看到第1组已获得授权。如果你有
11000000000000000000000000001000
第1组未经授权。
对于第3组和第30组,访问权限也是授权的:
11000000000000000000000000001000
* *
(MSb.bit31设置为1
,但其值是保留的,所以你不应该打扰它的值)