1
我試圖加載用戶的Twitter追隨者列表。它在iOS 7.1上加載得很好,但在iOS 6.1上崩潰。崩潰的行是performRequestWithHandler:
,錯誤是- [__ NSCFNumber length]:無法識別的選擇器發送到實例0xcb4d580。問題的原因是什麼?爲什麼SLRequest讓iOS追隨者在iOS 6.1上崩潰而不是7.1
SLRequest* request = [SLRequest
requestForServiceType:SLServiceTypeTwitter
requestMethod:TWRequestMethodGET
URL:[NSURL URLWithString:[NSString stringWithFormat:
@"%@followers/list.json",
API_BASE_URL
]]
parameters:@{
@"user_id": @(self.context.userId.integerValue),
@"count": @(128),
@"skip_status": @"true"
}
];
request.account = self.context.account;
[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
// code that is irrelevant to crash
}];
這些是如何對上述變量的定義:
- API_BASE_URL是靜態的NSString @ 「https://api.twitter.com/1.1/」
- self.context.userId是一個數字的一個NSString。
- self.context.account是登錄用戶的ACAccount。
請指出導致崩潰的代碼的確切代碼行。 – rmaddy
@rmaddy:我做到了。這是'performRequestWithHandler:'行。 – Pwner
好的,它確實是在那條線上,而不是在處理程序中。我的猜測是,這個問題是由'count'參數是'NSNumber'而不是'NSString'造成的。將'@(128)'更改爲'@「128」'。還要讓'user_id'成爲一個字符串而不是數字。 – rmaddy